CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/FastSimulation/CalorimeterProperties/interface/ECALProperties.h

Go to the documentation of this file.
00001 #ifndef ECALProperties_H
00002 #define ECALProperties_H
00003 
00004 #include "FastSimulation/CalorimeterProperties/interface/CalorimeterProperties.h"
00005 
00015 class ECALProperties : public CalorimeterProperties 
00016 {
00017 
00018  public:
00019 
00020   ECALProperties() : scaleEnergy_(0.0212){ } 
00021 
00022   virtual ~ECALProperties() {
00023   }
00024 
00026   inline double theAeff() const { return Aeff_; }
00027 
00029   inline double theZeff() const { return Zeff_; }
00030 
00032   inline double rho() const { return rho_; }
00033 
00035   //  inline double radLenIncm()  const { return radiationLengthIncm(); }: 0.89 for Standard ECAL
00036   inline double radLenIncm()  const { return radLenIncm_; }
00037 
00039   // This is needed in Calorimetry/CrystalSegment. Patrick, if you don't like it, give
00040   // me an other solution to access the ECALProperties efficiently. 
00041   // static inline double radiationLengthIncm() { return 0.89; }
00042 
00044   inline double radLenIngcm2() const { return radLenIngcm2_; }
00045 
00047   inline   double moliereRadius() const { return moliereRadius_; }
00048 
00050   inline double criticalEnergy() const { return criticalEnergy_; }
00051 
00053   inline double interactionLength() const { return interactionLength_; }
00054 
00056   inline double theFs() const { return Fs_; }
00057 
00059   inline double ehat() const { return ehat_; }
00060 
00062   inline double resE() const { return resE_; }
00063 
00065   inline double da() const { return da_; }
00066 
00068   inline double dp() const { return dp_; }
00069 
00070 
00072   inline bool isHom() const { return bHom_; }
00073 
00075   virtual double photoStatistics() const=0;
00076 
00078   virtual double lightCollectionEfficiency() const=0;
00079 
00081   virtual double lightCollectionUniformity() const=0;
00082 
00083  protected:
00084 
00085   double lightColl_;
00086   double lightCollUnif_;
00087   double photoStatistics_;
00088   double thickness_;
00089   double interactionLength_;
00090 
00091   double Aeff_;
00092   double Zeff_;
00093   double rho_;
00094   double radLenIncm_;
00095   double radLenIngcm2_;
00096   double moliereRadius_;
00097 
00098   double criticalEnergy_;
00099 
00100   double Fs_;
00101   double ehat_;
00102   double resE_;
00103   
00104   double da_;
00105   double dp_;
00106 
00107   bool bHom_;
00108 
00109   //Es=sqrt(4*Pi/alphaEM)*me*c^2=0.0212 GeV used for Moliere Radius calculation
00110   const double scaleEnergy_;
00111 
00112 };
00113 
00114 #endif