13 #ifndef DDREC_MATERIAL_H
14 #define DDREC_MATERIAL_H
16 #include "DD4hep/Detector.h"
18 #include "DD4hep/Objects.h"
76 MaterialData(
const std::string& nam,
double Z_val,
double A_val,
double density_val,
double radLength,
double intLength )
135 _x0 = m.radLength() ;
161 virtual double Z()
const {
return _Z ; }
164 virtual double A()
const {
return _A ; }
183 #endif // DDREC_MATERIAL_H
virtual double radiationLength() const
radiation length - tgeo units
virtual double interactionLength() const
interaction length - tgeo units
MaterialData & operator=(const Material &m)
assignment from Material
MaterialData & operator=(const IMaterial &m)
assignment from Material
MaterialData()
Default c'tor .
MaterialData(const MaterialData &m)
Copy c'tor .
bool isValid() const
true if initialized
virtual ~MaterialData()
D'tor.
MaterialData(const std::string &nam, double Z_val, double A_val, double density_val, double radLength, double intLength)
C'tor setting all attributes .
virtual double Z() const =0
averaged proton number
virtual std::string name() const
material name
virtual double density() const
density
virtual double radiationLength() const =0
radiation length - units ?
virtual double interactionLength() const =0
interaction length - units ?
virtual double A() const
averaged atomic number
virtual std::string name() const =0
material name
Simple data class that implements the IMaterial interface and is used in the Surface implementation...
virtual double A() const =0
averaged atomic number
virtual double density() const =0
density - units ?
MaterialData(const IMaterial &m)
Copy c'tor .
virtual double Z() const
averaged proton number
MaterialData & operator=(const MaterialData &m)
copy assignement
Interface for material description for tracking.
MaterialData(Material m)
Instantiate from Material - default initialization if handle is not valid.