Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:53:31

0001 #ifndef _Surface_MEDIUMPROPERTIES_H_
0002 #define _Surface_MEDIUMPROPERTIES_H_
0003 
0004 /** Constants describing material effects for a surface (for an
0005  * angle of incidence = pi/2).
0006  * If thickness = d:
0007  *   radLen = d/X0 (used for description of multiple scattering
0008  *                  and energy loss by electrons)
0009  *   xi = d[g/cm2] * 0.307075[MeV/(g/cm2)] * Z/A * 1/2
0010  *                 (used for energy loss acc. to Bethe-Bloch)
0011  */
0012 class MediumProperties {
0013 public:
0014   MediumProperties() : theRadLen(0), theXi(0) {}
0015   MediumProperties(float aRadLen, float aXi) : theRadLen(aRadLen), theXi(aXi) {}
0016   ~MediumProperties() {}
0017 
0018   /** Thickness in units of X0 (at normal incidence)
0019    */
0020   float radLen() const { return theRadLen; }
0021   /** Factor for Bethe-Bloch (at normal incidence;
0022    *  for definition see above)
0023    */
0024   float xi() const { return theXi; }
0025 
0026   bool isValid() const { return theRadLen != 0 || theXi != 0; }
0027 
0028 private:
0029   float theRadLen;
0030   float theXi;
0031 };
0032 #endif