CMS 3D CMS Logo

ECALProperties.h
Go to the documentation of this file.
1 #ifndef ECALProperties_H
2 #define ECALProperties_H
3 
5 
16 public:
18 
19  ~ECALProperties() override {}
20 
22  inline double theAeff() const override { return Aeff_; }
23 
25  inline double theZeff() const override { return Zeff_; }
26 
28  inline double rho() const override { return rho_; }
29 
31  // inline double radLenIncm() const { return radiationLengthIncm(); }: 0.89 for Standard ECAL
32  inline double radLenIncm() const override { return radLenIncm_; }
33 
35  // This is needed in Calorimetry/CrystalSegment. Patrick, if you don't like it, give
36  // me an other solution to access the ECALProperties efficiently.
37  // static inline double radiationLengthIncm() { return 0.89; }
38 
40  inline double radLenIngcm2() const override { return radLenIngcm2_; }
41 
43  inline double moliereRadius() const override { return moliereRadius_; }
44 
46  inline double criticalEnergy() const override { return criticalEnergy_; }
47 
49  inline double interactionLength() const override { return interactionLength_; }
50 
52  inline double theFs() const { return Fs_; }
53 
55  inline double ehat() const { return ehat_; }
56 
58  inline double resE() const { return resE_; }
59 
61  inline double da() const { return da_; }
62 
64  inline double dp() const { return dp_; }
65 
67  inline bool isHom() const { return bHom_; }
68 
70  virtual double photoStatistics() const = 0;
71 
73  virtual double lightCollectionEfficiency() const = 0;
74 
76  virtual double lightCollectionUniformity() const = 0;
77 
78 protected:
79  double lightColl_;
82  double thickness_;
84 
85  double Aeff_;
86  double Zeff_;
87  double rho_;
88  double radLenIncm_;
89  double radLenIngcm2_;
91 
93 
94  double Fs_;
95  double ehat_;
96  double resE_;
97 
98  double da_;
99  double dp_;
100 
101  bool bHom_;
102 
103  //Es=sqrt(4*Pi/alphaEM)*me*c^2=0.0212 GeV used for Moliere Radius calculation
104  const double scaleEnergy_;
105 };
106 
107 #endif
ECALProperties::lightCollectionUniformity
virtual double lightCollectionUniformity() const =0
Light Collection uniformity.
ECALProperties::rho_
double rho_
Definition: ECALProperties.h:87
ECALProperties::criticalEnergy_
double criticalEnergy_
Definition: ECALProperties.h:92
ECALProperties::radLenIngcm2_
double radLenIngcm2_
Definition: ECALProperties.h:89
ECALProperties::ehat
double ehat() const
ehat = e/mip of the calorimeter. 0 for homogeneous one
Definition: ECALProperties.h:55
ECALProperties::radLenIngcm2
double radLenIngcm2() const override
Radiation length in cm but static.
Definition: ECALProperties.h:40
ECALProperties::interactionLength_
double interactionLength_
Definition: ECALProperties.h:83
ECALProperties::dp
double dp() const
the width of the passive layer in the case of the homogeneous detector
Definition: ECALProperties.h:64
ECALProperties::theFs
double theFs() const
Sampling fraction Fs of the calorimeter. 0 for homogeneous one.
Definition: ECALProperties.h:52
ECALProperties::criticalEnergy
double criticalEnergy() const override
Critical energy in GeV (2.66E-3*(x0*Z/A)^1.1): 8.74E-3 for Standard ECAL.
Definition: ECALProperties.h:46
ECALProperties::photoStatistics_
double photoStatistics_
Definition: ECALProperties.h:81
ECALProperties::resE
double resE() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
Definition: ECALProperties.h:58
ECALProperties::lightCollectionEfficiency
virtual double lightCollectionEfficiency() const =0
Light Collection efficiency.
ECALProperties
Definition: ECALProperties.h:15
ECALProperties::theAeff
double theAeff() const override
Effective A: 170.87 for Standard ECAL.
Definition: ECALProperties.h:22
ECALProperties::Zeff_
double Zeff_
Definition: ECALProperties.h:86
CalorimeterProperties.h
ECALProperties::thickness_
double thickness_
Definition: ECALProperties.h:82
CalorimeterProperties
Definition: CalorimeterProperties.h:11
ECALProperties::radLenIncm_
double radLenIncm_
Definition: ECALProperties.h:88
ECALProperties::lightColl_
double lightColl_
Definition: ECALProperties.h:79
ECALProperties::photoStatistics
virtual double photoStatistics() const =0
Photostatistics (photons/GeV) in the homegeneous material.
ECALProperties::ECALProperties
ECALProperties()
Definition: ECALProperties.h:17
ECALProperties::da_
double da_
Definition: ECALProperties.h:98
ECALProperties::~ECALProperties
~ECALProperties() override
Definition: ECALProperties.h:19
ECALProperties::moliereRadius
double moliereRadius() const override
Moliere Radius in cm : 2.190 for Standard ECAL.
Definition: ECALProperties.h:43
ECALProperties::isHom
bool isHom() const
a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
Definition: ECALProperties.h:67
ECALProperties::radLenIncm
double radLenIncm() const override
Radiation length in cm.
Definition: ECALProperties.h:32
ECALProperties::bHom_
bool bHom_
Definition: ECALProperties.h:101
ECALProperties::resE_
double resE_
Definition: ECALProperties.h:96
ECALProperties::rho
double rho() const override
Density in g/cm3: 8.280 for Standard ECAL.
Definition: ECALProperties.h:28
ECALProperties::interactionLength
double interactionLength() const override
Interaction length in cm: 18.5 for Standard ECAL.
Definition: ECALProperties.h:49
ECALProperties::moliereRadius_
double moliereRadius_
Definition: ECALProperties.h:90
ECALProperties::ehat_
double ehat_
Definition: ECALProperties.h:95
ECALProperties::lightCollUnif_
double lightCollUnif_
Definition: ECALProperties.h:80
ECALProperties::scaleEnergy_
const double scaleEnergy_
Definition: ECALProperties.h:104
ECALProperties::theZeff
double theZeff() const override
Effective Z: 68.36 for Standard ECAL.
Definition: ECALProperties.h:25
ECALProperties::Aeff_
double Aeff_
Definition: ECALProperties.h:85
ECALProperties::da
double da() const
the width of the active layer in the case of the homogeneous detector
Definition: ECALProperties.h:61
ECALProperties::Fs_
double Fs_
Definition: ECALProperties.h:94
ECALProperties::dp_
double dp_
Definition: ECALProperties.h:99