CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HDRShower.h
Go to the documentation of this file.
1 #ifndef HDRShower_H
2 #define HDRShower_H
3 
4 //FastSimulation Headers
6 
7 #include <vector>
8 
14 #define NEnergyScan 7
15 // 7 lambda
16 #define R_range 100
17 
18 class EcalHitMaker;
19 class HcalHitMaker;
20 class RandomEngine;
21 
22 class HDRShower
23 {
24  public:
25 
26  HDRShower(const RandomEngine* engine,
27  HDShowerParametrization* myParam,
28  EcalHitMaker* myGrid,
29  HcalHitMaker* myHcalHitMaker,
30  int onECAL,
31  double epart);
32 
33  virtual ~HDRShower() {;}
34 
35  bool computeShower();
36  bool setHit(float espot, float theta);
37  void thetaFunction(int nthetaStep);
38  float getR();
39  void setFuncParam();
40 
41  private:
42  // Input
46  int onEcal;
47  double e; // Input energy to distribute
48 
49  private:
50  // const ECALProperties* theECALproperties;
51  // const HCALProperties* theHCALproperties;
52 
54  double depthStart;
55  float eHDspot;
56  float EsCut;
57  float EcalShift;
59 
60  float thetaStep;
62  std::vector<int> thetaSpots;
63  std::vector<float> elastspot;
64  float rpdf[R_range];
65  bool qstatus;
66  float decal;
67 
75 
76  // The famos random engine
78 
79 };
80 
81 #endif
double lambdaHD
Definition: HDRShower.h:53
float ThetaLam21[NEnergyScan]
Definition: HDRShower.h:73
int nthetaStep
Definition: HDRShower.h:58
float rpdf[R_range]
Definition: HDRShower.h:64
double x0HD
Definition: HDRShower.h:53
HcalHitMaker * theHcalHitMaker
Definition: HDRShower.h:45
const RandomEngine * random
Definition: HDRShower.h:77
Geom::Theta< T > theta() const
#define R_range
Definition: HDRShower.h:16
float Theta1amp[NEnergyScan]
Definition: HDRShower.h:69
float Theta1Lambda[NEnergyScan]
Definition: HDRShower.h:71
bool qstatus
Definition: HDRShower.h:65
float eHDspot
Definition: HDRShower.h:55
double depthStart
Definition: HDRShower.h:54
float Theta1ampSig[NEnergyScan]
Definition: HDRShower.h:70
int onEcal
Definition: HDRShower.h:46
#define NEnergyScan
Definition: HDRShower.h:14
float Theta1LambdaSig[NEnergyScan]
Definition: HDRShower.h:72
std::vector< int > thetaSpots
Definition: HDRShower.h:62
double e
Definition: HDRShower.h:47
void thetaFunction(int nthetaStep)
Definition: HDRShower.cc:138
float depthECAL
Definition: HDRShower.h:61
void setFuncParam()
Definition: HDRShower.cc:195
float EgridTable[NEnergyScan]
Definition: HDRShower.h:68
bool setHit(float espot, float theta)
Definition: HDRShower.cc:98
EcalHitMaker * theGrid
Definition: HDRShower.h:44
HDShowerParametrization * theParam
Definition: HDRShower.h:43
float getR()
Definition: HDRShower.cc:127
float thetaStep
Definition: HDRShower.h:60
float EsCut
Definition: HDRShower.h:56
float EcalShift
Definition: HDRShower.h:57
float ThetaLam21Sig[NEnergyScan]
Definition: HDRShower.h:74
float maxDepth
Definition: HDRShower.h:61
double x0EM
Definition: HDRShower.h:53
std::vector< float > elastspot
Definition: HDRShower.h:63
float depthGAP
Definition: HDRShower.h:61
HDRShower(const RandomEngine *engine, HDShowerParametrization *myParam, EcalHitMaker *myGrid, HcalHitMaker *myHcalHitMaker, int onECAL, double epart)
Definition: HDRShower.cc:23
virtual ~HDRShower()
Definition: HDRShower.h:33
float decal
Definition: HDRShower.h:66
double lambdaEM
Definition: HDRShower.h:53
bool computeShower()
Definition: HDRShower.cc:46