Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // Constructor, destructor
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