File indexing completed on 2024-04-06 12:30:34
0001 #ifndef GflashEMShowerProfile_H
0002 #define GflashEMShowerProfile_H
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005
0006 #include "SimGeneral/GFlash/interface/GflashNameSpace.h"
0007 #include "SimGeneral/GFlash/interface/GflashTrajectory.h"
0008
0009 #include <vector>
0010
0011 class GflashHit;
0012 class GflashShowino;
0013 class GflashHistogram;
0014
0015 class GflashEMShowerProfile {
0016 public:
0017
0018
0019
0020 GflashEMShowerProfile(const edm::ParameterSet &parSet);
0021 ~GflashEMShowerProfile();
0022
0023 void initialize(int showerType,
0024 double energy,
0025 double globalTime,
0026 double charge,
0027 Gflash3Vector &position,
0028 Gflash3Vector &momentum);
0029
0030 void parameterization();
0031 GflashShowino *getGflashShowino() { return theShowino; }
0032 std::vector<GflashHit> &getGflashHitList() { return theGflashHitList; };
0033
0034 private:
0035 double getDistanceToOut(Gflash::CalorimeterNumber kCalor);
0036 Gflash3Vector locateHitPosition(
0037 GflashTrajectoryPoint &point, double rCore, double rTail, double probability, double &rShower);
0038
0039 private:
0040 Gflash::CalorimeterNumber jCalorimeter;
0041
0042 edm::ParameterSet theParSet;
0043 double theBField;
0044 double theEnergyScaleEB;
0045 double theEnergyScaleEE;
0046
0047 GflashShowino *theShowino;
0048 GflashHistogram *theHisto;
0049 std::vector<GflashHit> theGflashHitList;
0050 };
0051
0052 #endif