1 #ifndef DDSurfaces_IMaterial_H_
2 #define DDSurfaces_IMaterial_H_
28 virtual std::string
name()
const =0 ;
31 virtual double A()
const =0 ;
34 virtual double Z()
const =0 ;
37 virtual double density()
const =0 ;
50 os <<
" " << m.
name() <<
", A: " << m.
A() <<
", Z: " << m.
Z() <<
", density: " << m.
density() <<
", radiationLength: " << m.
radiationLength()
virtual ~IMaterial()
Destructor.
virtual double A() const =0
averaged atomic number
virtual std::string name() const =0
material name
virtual double density() const =0
density - units ?
IMaterial & operator=(const IMaterial &)
Assignment operator.
virtual double Z() const =0
averaged proton number
std::ostream & operator<<(std::ostream &os, const IMaterial &m)
dump IMaterial operator
virtual double interactionLength() const =0
interaction length - units ?
virtual double radiationLength() const =0
radiation length - units ?