Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:13

0001 #ifndef PreshowerProperties_H
0002 #define PreshowerProperties_H
0003 
0004 #include "FastSimulation/CalorimeterProperties/interface/CalorimeterProperties.h"
0005 
0006 /** 
0007  * Functions to return atomic properties of the material
0008  * A_eff and Z_eff are computed as the A-weighted sums 
0009  * of the A's and the Z's of Pb, W and O
0010  *
0011  * \author Patrick Janot
0012  * \date: 25-Jan-2004
0013  */
0014 
0015 class PreshowerProperties : public CalorimeterProperties {
0016 public:
0017   PreshowerProperties() { ; }
0018 
0019   ~PreshowerProperties() override { ; }
0020 
0021   /// Effective A
0022   inline double theAeff() const override { return 207.2; }
0023   /// Effective Z
0024   inline double theZeff() const override { return 82.; }
0025   /// Density in g/cm3
0026   inline double rho() const override { return 11.350; }
0027   /// Radiation length in cm
0028   inline double radLenIncm() const override { return 0.56; }
0029   /// Radiation length in g/cm^2
0030   inline double radLenIngcm2() const override { return 6.370; }
0031   /// Moliere Radius in cm
0032   inline double moliereRadius() const override { return 1.53; }
0033   /// Electron critical energy in GeV
0034   inline double criticalEnergy() const override { return 7.79E-3; }
0035   /// Muon critical energy in GeV
0036   //inline double muonCriticalEnergy() const { return 141.; }
0037 
0038   ///Interaction length in cm
0039   inline double interactionLength() const override { return 17.1; }
0040 
0041   /// Fraction of energy collected on sensitive detectors
0042   virtual double sensitiveFraction() const = 0;
0043 
0044   /// Number of Mips/GeV on sensitive detectors
0045   virtual double mipsPerGeV() const = 0;
0046 
0047 protected:
0048   double thick;
0049   double mips;
0050 
0051 private:
0052 };
0053 
0054 #endif