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
CaloHitMaker::XYZPoint
math::XYZVector XYZPoint
Definition: CaloHitMaker.h:23
CaloHitMaker::base_
DetId::Detector base_
Definition: CaloHitMaker.h:55
CaloHitMaker::~CaloHitMaker
virtual ~CaloHitMaker()
Definition: CaloHitMaker.h:27
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
CaloHitMaker::EMSHOWER
bool EMSHOWER
Definition: CaloHitMaker.h:50
CaloHitMaker::interactionLength
double interactionLength
Definition: CaloHitMaker.h:47
CaloHitID.h
CaloHitMaker::setSpotEnergy
virtual void setSpotEnergy(double e)=0
Plane3D
ROOT::Math::Plane3D Plane3D
Definition: PreshowerHitMaker.cc:13
CaloHitMaker::MIP
bool MIP
Definition: CaloHitMaker.h:52
debug
#define debug
Definition: HDRShower.cc:19
CaloHitMaker::subdetn_
int subdetn_
Definition: CaloHitMaker.h:56
CaloHitMaker::showerType_
unsigned showerType_
Definition: CaloHitMaker.h:60
b
double b
Definition: hdecay.h:118
CaloHitMaker::intersect
static XYZPoint intersect(const Plane3D &p, const XYZPoint &a, const XYZPoint &b, double &t, bool segment, bool debug=false)
Definition: CaloHitMaker.cc:41
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
CaloHitMaker::getHits
virtual const std::map< CaloHitID, float > & getHits()=0
a
double a
Definition: hdecay.h:119
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
CaloHitMaker::addHit
virtual bool addHit(double r, double phi, unsigned layer=0)=0
CalorimeterProperties
Definition: CalorimeterProperties.h:11
DetId::Detector
Detector
Definition: DetId.h:24
CaloHitMaker::spotEnergy
double spotEnergy
Definition: CaloHitMaker.h:48
XYZPoint
math::XYZVector XYZPoint
Definition: CalorimetryManager.cc:69
CaloHitMaker::myCalorimeter
const CaloGeometryHelper * myCalorimeter
Definition: CaloHitMaker.h:44
alignCSCRings.r
r
Definition: alignCSCRings.py:93
CaloHitMaker
Definition: CaloHitMaker.h:20
DDAxes::phi
CaloHitMaker::HADSHOWER
bool HADSHOWER
Definition: CaloHitMaker.h:51
DetId.h
CaloHitMaker::Plane3D
ROOT::Math::Plane3D Plane3D
Definition: CaloHitMaker.h:24
CaloHitMaker::hitMap_
std::map< CaloHitID, float > hitMap_
Definition: CaloHitMaker.h:61
CaloHitMaker::theCaloProperties
const CalorimeterProperties * theCaloProperties
Definition: CaloHitMaker.h:45
CaloHitMaker::onCal_
int onCal_
Definition: CaloHitMaker.h:57
calo
Definition: Common.h:9
CaloHitMaker::getCalorimeter
const CaloGeometryHelper * getCalorimeter() const
Definition: CaloHitMaker.h:33
CaloHitMaker::CaloHitMaker
CaloHitMaker(const CaloGeometryHelper *calo, DetId::Detector det, int subdetn, int cal, unsigned sht=0)
Definition: CaloHitMaker.cc:12
CaloGeometryHelper
Definition: CaloGeometryHelper.h:18
Vector3D.h
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
CaloHitMaker::moliereRadius
double moliereRadius
Definition: CaloHitMaker.h:46
CaloHitMaker::XYZVector
math::XYZVector XYZVector
Definition: CaloHitMaker.h:22
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37