CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
PreshowerHitMaker.h
Go to the documentation of this file.
1 #ifndef PreshowerHitMaker_h
2 #define PreshowerHitMaker_h
3 
6 
10 
12 public:
16 
18  const XYZPoint&,
19  const XYZVector&,
20  const XYZPoint&,
21  const XYZVector&,
22  const LandauFluctuationGenerator* aGenerator,
23  const RandomEngineAndDistribution* engine);
24 
25  ~PreshowerHitMaker() override { ; }
26 
27  inline void setSpotEnergy(double e) override { spotEnergy = e; }
28  bool addHit(double r, double phi, unsigned layer = 0) override;
29 
30  const std::map<CaloHitID, float>& getHits() override { return hitMap_; };
31  // for tuning
32  inline void setMipEnergy(double e1, double e2) {
33  mip1_ = e1;
34  mip2_ = e2;
35  }
36 
37  float totalLayer1() const { return totalLayer1_; }
38  float totalLayer2() const { return totalLayer2_; }
39  float layer1Calibrated() const { return 0.024 / 81.1E-6 * totalLayer1_; }
40  float layer2Calibrated() const { return 0.024 * 0.7 / 81.1E-6 * totalLayer2_; }
41  float totalCalibrated() const { return 0.024 / 81.1E-6 * (totalLayer1_ + 0.7 * totalLayer2_); }
42 
43 private:
54  double mip1_, mip2_;
55  float totalLayer1_;
56  float totalLayer2_;
60 };
61 
62 #endif
float totalLayer1() const
~PreshowerHitMaker() override
std::map< CaloHitID, float > hitMap_
Definition: CaloHitMaker.h:61
math::XYZVector XYZPoint
const std::map< CaloHitID, float > & getHits() override
math::XYZVector XYZPoint
Definition: CaloHitMaker.h:23
Transform3D locToGlobal1_
PreshowerHitMaker(CaloGeometryHelper *calo, const XYZPoint &, const XYZVector &, const XYZPoint &, const XYZVector &, const LandauFluctuationGenerator *aGenerator, const RandomEngineAndDistribution *engine)
constexpr std::array< uint8_t, layerIndexSize > layer
float totalCalibrated() const
bool addHit(double r, double phi, unsigned layer=0) override
ROOT::Math::Transform3DPJ Transform3D
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
Transform3D locToGlobal2_
float totalLayer2() const
float layer1Calibrated() const
math::XYZVector XYZVector
Definition: CaloHitMaker.h:22
void setMipEnergy(double e1, double e2)
float layer2Calibrated() const
double spotEnergy
Definition: CaloHitMaker.h:48
const LandauFluctuationGenerator * theGenerator
The Landau Fluctuation generator.
const RandomEngineAndDistribution * random
void setSpotEnergy(double e) override
math::XYZVector XYZVector