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 //STL headers
14 #include <string>
15 #include <map>
16 
17 class CaloGeometryHelper;
19 
20 class CaloHitMaker {
21 public:
25 
26  CaloHitMaker(const CaloGeometryHelper* calo, DetId::Detector det, int subdetn, int cal, unsigned sht = 0);
27  virtual ~CaloHitMaker() { ; }
28 
29  virtual bool addHit(double r, double phi, unsigned layer = 0) = 0;
30  virtual void setSpotEnergy(double e) = 0;
31  virtual const std::map<CaloHitID, float>& getHits() = 0;
32 
34  // std::cout << "CaloHitMaker is returning myCalorimeter " << myCalorimeter << std::endl;
35  return myCalorimeter;
36  }
37 
38 protected:
41  static XYZPoint intersect(
42  const Plane3D& p, const XYZPoint& a, const XYZPoint& b, double& t, bool segment, bool debug = false);
43 
46  double moliereRadius;
48  double spotEnergy;
49 
50  bool EMSHOWER;
51  bool HADSHOWER;
52  bool MIP;
53 
54 private:
56  int subdetn_;
57  int onCal_;
58 
59 protected:
60  unsigned showerType_;
61  std::map<CaloHitID, float> hitMap_;
62 };
63 
64 #endif
const CaloGeometryHelper * getCalorimeter() const
Definition: CaloHitMaker.h:33
std::map< CaloHitID, float > hitMap_
Definition: CaloHitMaker.h:61
const CalorimeterProperties * theCaloProperties
Definition: CaloHitMaker.h:45
virtual ~CaloHitMaker()
Definition: CaloHitMaker.h:27
math::XYZVector XYZPoint
Definition: CaloHitMaker.h:23
const CaloGeometryHelper * myCalorimeter
Definition: CaloHitMaker.h:44
unsigned showerType_
Definition: CaloHitMaker.h:60
virtual const std::map< CaloHitID, float > & getHits()=0
static XYZPoint intersect(const Plane3D &p, const XYZPoint &a, const XYZPoint &b, double &t, bool segment, bool debug=false)
Definition: CaloHitMaker.cc:41
virtual bool addHit(double r, double phi, unsigned layer=0)=0
#define debug
Definition: HDRShower.cc:19
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
Detector
Definition: DetId.h:24
ROOT::Math::Plane3D Plane3D
Definition: CaloHitMaker.h:24
double interactionLength
Definition: CaloHitMaker.h:47
double b
Definition: hdecay.h:120
double moliereRadius
Definition: CaloHitMaker.h:46
math::XYZVector XYZPoint
double a
Definition: hdecay.h:121
math::XYZVector XYZVector
Definition: CaloHitMaker.h:22
virtual void setSpotEnergy(double e)=0
DetId::Detector base_
Definition: CaloHitMaker.h:55
double spotEnergy
Definition: CaloHitMaker.h:48
ROOT::Math::Plane3D Plane3D
Definition: Common.h:9
CaloHitMaker(const CaloGeometryHelper *calo, DetId::Detector det, int subdetn, int cal, unsigned sht=0)
Definition: CaloHitMaker.cc:12