3 #include "CLHEP/Units/GlobalSystemOfUnits.h"
78 std::string
s = std::string(
"DDMaterial::addMaterial(..): name-clash ")
79 + std::string(
"\n trying to add material ") + m.
toString()
80 + std::string(
" to itself! ");
83 rep().addMaterial(m,fm);
84 DCOUT(
'c', std::string(
" -> ADDED MATERIAL=") + m.
toString() );
85 return rep().noOfConstituents();
91 return rep().noOfConstituents();
99 return rep().constituent(i);
117 return rep().density();
137 os <<
'[' << mat.
name() <<
']' <<
" z=" << mat.
z()
138 <<
" a=" << mat.
a()/
g*mole <<
"*g/mole"
139 <<
" d=" << mat.
density()/
g*cm3 <<
"*g/cm3";
140 std::string
s(2*level,
' ');
143 os << std::endl << s <<
i+1 <<
" : fm=" << f.second
149 os <<
"* material not declared * ";
double a() const
returns the atomic mass
const DDI::rep_traits< DDName, DDI::Material * >::reference rep() const
DDMaterial is used to define and access material information.
DDMaterial()
Creates a uninitialized reference-object (see DDLogicalPart documentation for details on reference ob...
An exception for DDD errors.
DDName is used to identify DDD entities uniquely.
Container::value_type value_type
std::ostream & operator<<(std::ostream &out, const ALILine &li)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
int addMaterial(const DDMaterial &m, double fm)
adds a material to the mixture proportional to its fraction-mass fm.
static value_type & instance()
double z() const
retruns the atomic number
FractionV::value_type constituent(int i) const
returns the i-th compound material and its fraction-mass
std::string toString() const
double density() const
returns the density
int noOfConstituents() const
returns the number of compound materials or 0 for elementary materials
#define DCOUT(M_v_Y, M_v_S)