CMS 3D CMS Logo

CaloHitMaker.h
Go to the documentation of this file.
1 #ifndef CaloHitMaker_h
2 #define CaloHitMaker_h
3 
6 #include "Math/GenVector/Plane3D.h"
8 
9 //CLHEP headers
10 //#include "CLHEP/Geometry/Point3D.h"
11 //#include "CLHEP/Geometry/Plane3D.h"
12 
13 
14 //STL headers
15 #include <string>
16 #include <map>
17 
18 class CaloGeometryHelper;
20 
22 {
23  public:
24 
28 
29  CaloHitMaker(const CaloGeometryHelper * calo,DetId::Detector det,int subdetn,int cal,unsigned sht=0);
30  virtual ~CaloHitMaker(){;}
31 
32  virtual bool addHit(double r,double phi,unsigned layer=0)=0;
33  virtual void setSpotEnergy(double e)=0;
34  virtual const std::map<CaloHitID,float>& getHits()=0;
35 
37  {
38  // std::cout << "CaloHitMaker is returning myCalorimeter " << myCalorimeter << std::endl;
39  return myCalorimeter;
40  }
41 
42  protected:
45  static XYZPoint intersect(const Plane3D& p,const XYZPoint& a,const XYZPoint& b,double& t,bool segment,bool debug=false);
46 
49  double moliereRadius;
51  double spotEnergy;
52 
53  bool EMSHOWER;
54  bool HADSHOWER;
55  bool MIP;
56 
57  private:
59  int subdetn_;
60  int onCal_;
61 
62 
63  protected:
64  unsigned showerType_;
65  std::map<CaloHitID,float> hitMap_;
66 
67 };
68 
69 #endif
const CalorimeterProperties * theCaloProperties
Definition: CaloHitMaker.h:48
virtual ~CaloHitMaker()
Definition: CaloHitMaker.h:30
math::XYZVector XYZPoint
Definition: CaloHitMaker.h:26
const CaloGeometryHelper * myCalorimeter
Definition: CaloHitMaker.h:47
const CaloGeometryHelper * getCalorimeter() const
Definition: CaloHitMaker.h:36
virtual const std::map< CaloHitID, float > & getHits()=0
unsigned showerType_
Definition: CaloHitMaker.h:64
static XYZPoint intersect(const Plane3D &p, const XYZPoint &a, const XYZPoint &b, double &t, bool segment, bool debug=false)
Definition: CaloHitMaker.cc:38
virtual bool addHit(double r, double phi, unsigned layer=0)=0
std::map< CaloHitID, float > hitMap_
Definition: CaloHitMaker.h:65
#define debug
Definition: HDRShower.cc:19
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:30
Detector
Definition: DetId.h:26
ROOT::Math::Plane3D Plane3D
Definition: CaloHitMaker.h:27
double interactionLength
Definition: CaloHitMaker.h:50
double b
Definition: hdecay.h:120
double moliereRadius
Definition: CaloHitMaker.h:49
double a
Definition: hdecay.h:121
math::XYZVector XYZVector
Definition: CaloHitMaker.h:25
virtual void setSpotEnergy(double e)=0
DetId::Detector base_
Definition: CaloHitMaker.h:58
double spotEnergy
Definition: CaloHitMaker.h:51
ROOT::Math::Plane3D Plane3D
CaloHitMaker(const CaloGeometryHelper *calo, DetId::Detector det, int subdetn, int cal, unsigned sht=0)
Definition: CaloHitMaker.cc:10