CMS 3D CMS Logo

GflashHadronShowerProfile.h
Go to the documentation of this file.
1 #ifndef GflashHadronShowerProfile_H
2 #define GflashHadronShowerProfile_H
3 
5 
10 
11 #include <vector>
12 
13 class GflashHit;
14 
16 public:
17  //-------------------------
18  // Constructor, destructor
19  //-------------------------
22 
23  void initialize(int showerType,
24  double energy,
25  double globalTime,
26  double charge,
28  Gflash3Vector &momentum);
29 
30  virtual void loadParameters();
33  std::vector<GflashHit> &getGflashHitList() { return theGflashHitList; };
34 
35 protected:
36  double longitudinalProfile();
37  double hoProfile(double pathLength, double refDepth);
38  void doCholeskyReduction(double **cc, double **vv, const int ndim);
39  void getFluctuationVector(double *lowTriangle, double *correlationVector);
40  void setEnergyScale(double einc, const Gflash3Vector &ssp);
41 
43  double medianLateralArm(double depth, Gflash::CalorimeterNumber kCalor);
45 
46  double fTanh(double einc, const double *par);
47  double fLnE1(double einc, const double *par);
48  double depthScale(double ssp, double ssp0, double length);
49  double gammaProfile(double alpha, double beta, double depth, double lengthUnit);
50  double twoGammaProfile(double *par, double depth, Gflash::CalorimeterNumber kIndex);
51 
52  // SimActivityRegistry::G4StepSignal gflash_g4StepSignal;
53 
54 protected:
56  double theBField;
58 
61 
67 
68  std::vector<GflashHit> theGflashHitList;
69 };
70 
71 #endif
Gflash3Vector locateHitPosition(GflashTrajectoryPoint &point, double lateralArm)
double fTanh(double einc, const double *par)
double lateralPar[Gflash::kNumberCalorimeter][Gflash::Nrpar]
double twoGammaProfile(double *par, double depth, Gflash::CalorimeterNumber kIndex)
double medianLateralArm(double depth, Gflash::CalorimeterNumber kCalor)
uint32_t cc[maxCellsPerHit]
Definition: gpuFishbone.h:49
const int Nrpar
void setEnergyScale(double einc, const Gflash3Vector &ssp)
void doCholeskyReduction(double **cc, double **vv, const int ndim)
double fLnE1(double einc, const double *par)
double gammaProfile(double alpha, double beta, double depth, double lengthUnit)
const int NPar
std::vector< GflashHit > theGflashHitList
double averageSpotEnergy[Gflash::kNumberCalorimeter]
GflashHadronShowerProfile(const edm::ParameterSet &parSet)
CLHEP::Hep3Vector Gflash3Vector
Definition: Gflash3Vector.h:6
static int position[264][3]
Definition: ReadPGInfo.cc:289
std::vector< GflashHit > & getGflashHitList()
void getFluctuationVector(double *lowTriangle, double *correlationVector)
double depthScale(double ssp, double ssp0, double length)
int getNumberOfSpots(Gflash::CalorimeterNumber kCalor)
double hoProfile(double pathLength, double refDepth)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
void initialize(int showerType, double energy, double globalTime, double charge, Gflash3Vector &position, Gflash3Vector &momentum)
double energyScale[Gflash::kNumberCalorimeter]