1 #ifndef DDRec_MaterialManager_H_
2 #define DDRec_MaterialManager_H_
18 using Geometry::Material ;
20 typedef std::vector< std::pair< Material, double > >
MaterialVec ;
71 os <<
" " << m.
name() <<
" Z: " << m.
Z() <<
" A: " << m.
A() <<
" density: " << m.
density()
73 <<
" interactionLength: " << m.
intLength() ;
81 for(
unsigned i=0,n=m.size() ; i<n ; ++i ) {
82 os <<
" material: " << m[i].first <<
" thickness: " << m[i].second << std::endl ;
90 #endif // DDRec_MaterialManager_H_
const char * name() const
Access the object name (or "" if not supported by the object)
Handle class describing a material.
double intLength() const
Access the interaction length of the underlying material.
std::vector< std::pair< Material, double > > MaterialVec
DDSurfaces::Vector3D _pos
const Material & materialAt(const DDSurfaces::Vector3D &pos)
const MaterialVec & materialsBetween(const DDSurfaces::Vector3D &p0, const DDSurfaces::Vector3D &p1, double epsilon=1e-4)
MaterialData createAveragedMaterial(const MaterialVec &materials)
double radLength() const
Access the radiation length of the underlying material.
double A() const
atomic number of the underlying material
std::ostream & operator<<(std::ostream &io, const FixedPadSizeTPCData &d)
double Z() const
proton number of the underlying material
double density() const
density of the underlying material