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() { } 00021 00022 virtual ~ECALProperties() { 00023 } 00024 00026 inline double theAeff() const { return 170.87; } 00027 00029 inline double theZeff() const { return 68.36; } 00030 00032 inline double rho() const { return 8.280; } 00033 00035 // inline double radLenIncm() const { return radiationLengthIncm(); } 00036 inline double radLenIncm() const { return 0.89; } 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 7.37; } 00045 00047 inline double moliereRadius() const { return 2.190; } 00048 //inline double moliereRadius() const { return 2.4; } 00049 00051 inline double criticalEnergy() const { return 8.74E-3; } 00052 00054 inline double interactionLength() const { return 18.5; } 00055 00057 inline virtual double photoStatistics() const=0; 00058 00060 inline virtual double lightCollectionEfficiency() const=0; 00061 00063 inline virtual double lightCollectionUniformity() const=0; 00064 00065 protected: 00066 00067 double lightColl; 00068 00069 }; 00070 00071 #endif