CMS 3D CMS Logo

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