CMS 3D CMS Logo

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