CMS 3D CMS Logo

HCALProperties.h
Go to the documentation of this file.
1 #ifndef HCALProperties_H
2 #define HCALProperties_H
3 
5 #include <vector>
6 
17 namespace edm {
18  class ParameterSet;
19 }
20 
22 public:
23  HCALProperties(const edm::ParameterSet& fastDet);
24 
25  ~HCALProperties() override {}
26 
28  inline double theAeff() const override { return HCALAeff_; }
29 
31  inline double theZeff() const override { return HCALZeff_; }
32 
34  inline double rho() const override { return HCALrho_; }
35 
37  inline double radLenIncm() const override { return radiationLengthIncm(); }
38 
40  // This is needed in Calorimetry/CrystalSegment.
41  // Patrick, if you don't like it, give me another solution
42  // to access the ECALProperties efficiently.
43  inline double radiationLengthIncm() const { return HCALradiationLengthIncm_; }
44 
46  inline double radLenIngcm2() const override { return HCALradLenIngcm2_; }
47 
49  inline double moliereRadius() const override { return HCALmoliereRadius_; }
50  //inline double moliereRadius() const { return 2.4; }
51 
53  inline double criticalEnergy() const override { return HCALcriticalEnergy_; }
54 
56  inline double interactionLength() const override { return HCALinteractionLength_; }
57 
60  inline double hOverPi() const { return hOPi; }
61 
63  inline double spotFraction() const { return spotFrac; }
64 
65  double getHcalDepth(double) const;
66 
67  int eta2ieta(double eta) const;
68 
69 private:
70  double hOPi;
71  double spotFrac;
72 
73 protected:
74  double HCALAeff_;
75  double HCALZeff_;
76  double HCALrho_;
82  std::vector<double> etatow_; // HCAL towers eta edges
83  std::vector<double> hcalDepthLam_; // HCAL depth for each tower ieta
84 };
85 
86 #endif
HCALProperties::radiationLengthIncm
double radiationLengthIncm() const
Radiation length in cm but static.
Definition: HCALProperties.h:43
edm
HLT enums.
Definition: AlignableModifier.h:19
HCALProperties::radLenIngcm2
double radLenIngcm2() const override
Radiation length in g/cm^2.
Definition: HCALProperties.h:46
HCALProperties::criticalEnergy
double criticalEnergy() const override
Critical energy in GeV (2.66E-3*(x0*Z/A)^1.1)
Definition: HCALProperties.h:53
HCALProperties::radLenIncm
double radLenIncm() const override
Radiation length in cm.
Definition: HCALProperties.h:37
HCALProperties::getHcalDepth
double getHcalDepth(double) const
Definition: HCALProperties.cc:35
HCALProperties::theAeff
double theAeff() const override
Effective A.
Definition: HCALProperties.h:28
HCALProperties::theZeff
double theZeff() const override
Effective Z.
Definition: HCALProperties.h:31
HCALProperties::HCALZeff_
double HCALZeff_
Definition: HCALProperties.h:75
PVValHelper::eta
Definition: PVValidationHelpers.h:70
HCALProperties::interactionLength
double interactionLength() const override
Interaction length in cm.
Definition: HCALProperties.h:56
HCALProperties::~HCALProperties
~HCALProperties() override
Definition: HCALProperties.h:25
HCALProperties::rho
double rho() const override
Density in g/cm3.
Definition: HCALProperties.h:34
CalorimeterProperties.h
HCALProperties::HCALmoliereRadius_
double HCALmoliereRadius_
Definition: HCALProperties.h:79
edm::ParameterSet
Definition: ParameterSet.h:47
ParameterSet
Definition: Functions.h:16
CalorimeterProperties
Definition: CalorimeterProperties.h:11
HCALProperties::hOverPi
double hOverPi() const
Definition: HCALProperties.h:60
HCALProperties::HCALcriticalEnergy_
double HCALcriticalEnergy_
Definition: HCALProperties.h:80
HCALProperties::etatow_
std::vector< double > etatow_
Definition: HCALProperties.h:82
HCALProperties::HCALradiationLengthIncm_
double HCALradiationLengthIncm_
Definition: HCALProperties.h:77
HCALProperties::HCALradLenIngcm2_
double HCALradLenIngcm2_
Definition: HCALProperties.h:78
HCALProperties
Definition: HCALProperties.h:21
HCALProperties::spotFraction
double spotFraction() const
Spot fraction wrt ECAL.
Definition: HCALProperties.h:63
HCALProperties::spotFrac
double spotFrac
Definition: HCALProperties.h:71
HCALProperties::moliereRadius
double moliereRadius() const override
Moliere Radius in cm (=7 A/Z in g/cm^2)
Definition: HCALProperties.h:49
HCALProperties::HCALinteractionLength_
double HCALinteractionLength_
Definition: HCALProperties.h:81
HCALProperties::hcalDepthLam_
std::vector< double > hcalDepthLam_
Definition: HCALProperties.h:83
HCALProperties::eta2ieta
int eta2ieta(double eta) const
Definition: HCALProperties.cc:46
HCALProperties::hOPi
double hOPi
Definition: HCALProperties.h:70
HCALProperties::HCALAeff_
double HCALAeff_
Definition: HCALProperties.h:74
HCALProperties::HCALrho_
double HCALrho_
Definition: HCALProperties.h:76
HCALProperties::HCALProperties
HCALProperties(const edm::ParameterSet &fastDet)
Definition: HCALProperties.cc:9