CMS 3D CMS Logo

HcalHitMaker.h
Go to the documentation of this file.
1 #ifndef HcalHitMaker_h
2 #define HcalHitMaker_h
3 
8 
9 //#include "Math/GenVector/Transform3D.h"
11 
12 //#include <boost/cstdint.hpp>
13 
14 class CaloGeometryHelper;
15 
16 class HcalHitMaker : public CaloHitMaker
17 {
18  public:
19 
23 
24  HcalHitMaker(EcalHitMaker &, unsigned );
25  ~HcalHitMaker() override {;}
26 
28  inline void setSpotEnergy(double e) override { spotEnergy=e;}
29 
31  bool addHit(double r,double phi,unsigned layer=0) override;
32 
34  bool addHit(const XYZPoint & point ,unsigned layer=0);
35 
36  // get the hits
37  const std::map<CaloHitID,float>& getHits() override { return hitMap_ ;} ;
38 
40  bool setDepth(double,bool inCm=false);
41 
42  private:
44 
45  const FSimTrack * myTrack;
46  XYZPoint ecalEntrance_;
47  XYZVector particleDirection;
48  int onHcal;
49 
50  double currentDepth_;
51  Transform3D locToGlobal_;
52  double radiusFactor_;
54 
55  public:
56  static int getSubHcalDet(const FSimTrack* t)
57  {
58  // std::cout << " getSubHcalDet " << std::endl;
59  // According to DataFormats/ HcalDetId/ interface/ HcalSubdetector.h
60  // std::cout << " onHcal " << t->onHcal() << " onVFcal " << t->onVFcal() << std::endl;
61  if(t->onHcal()==1) return HcalBarrel;
62  if(t->onHcal()==2) return HcalEndcap;
63  if(t->onVFcal()==2) return HcalForward;
64  return -1;
65  }
66 
67 };
68 #endif
const FSimTrack * myTrack
Definition: HcalHitMaker.h:45
Transform3D locToGlobal_
Definition: HcalHitMaker.h:51
double radiusFactor_
Definition: HcalHitMaker.h:52
bool addHit(double r, double phi, unsigned layer=0) override
add the hit in the HCAL in local coordinates
Definition: HcalHitMaker.cc:28
ROOT::Math::Transform3DPJ Transform3D
Definition: HcalHitMaker.h:22
HcalHitMaker(EcalHitMaker &, unsigned)
Definition: HcalHitMaker.cc:10
int onVFcal() const
Definition: FSimTrack.h:116
void setSpotEnergy(double e) override
Set the spot energy.
Definition: HcalHitMaker.h:28
bool mapCalculated_
Definition: HcalHitMaker.h:53
XYZPoint ecalEntrance_
Definition: HcalHitMaker.h:46
std::map< CaloHitID, float > hitMap_
Definition: CaloHitMaker.h:65
math::XYZVector XYZVector
Definition: HcalHitMaker.h:20
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
EcalHitMaker & myGrid
Definition: HcalHitMaker.h:43
int onHcal() const
Definition: FSimTrack.h:111
const std::map< CaloHitID, float > & getHits() override
Definition: HcalHitMaker.h:37
math::XYZVector XYZPoint
Definition: HcalHitMaker.h:21
XYZVector particleDirection
Definition: HcalHitMaker.h:47
~HcalHitMaker() override
Definition: HcalHitMaker.h:25
double spotEnergy
Definition: CaloHitMaker.h:51
double currentDepth_
Definition: HcalHitMaker.h:50
bool setDepth(double, bool inCm=false)
set the depth in X0 or Lambda0 units depending on showerType
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
static int getSubHcalDet(const FSimTrack *t)
Definition: HcalHitMaker.h:56