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 bool isHom() const { return bHom_; } 00066 00068 virtual double photoStatistics() const=0; 00069 00071 virtual double lightCollectionEfficiency() const=0; 00072 00074 virtual double lightCollectionUniformity() const=0; 00075 00076 protected: 00077 00078 double lightColl_; 00079 double lightCollUnif_; 00080 double photoStatistics_; 00081 double thickness_; 00082 double interactionLength_; 00083 00084 double Aeff_; 00085 double Zeff_; 00086 double rho_; 00087 double radLenIncm_; 00088 double radLenIngcm2_; 00089 double moliereRadius_; 00090 00091 double criticalEnergy_; 00092 00093 double Fs_; 00094 double ehat_; 00095 double resE_; 00096 00097 bool bHom_; 00098 00099 //Es=sqrt(4*Pi/alphaEM)*me*c^2=0.0212 GeV used for Moliere Radius calculation 00100 const double scaleEnergy_; 00101 00102 }; 00103 00104 #endif