CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/SimGeneral/GFlash/interface/GflashEMShowerProfile.h

Go to the documentation of this file.
00001 #ifndef GflashEMShowerProfile_H
00002 #define GflashEMShowerProfile_H 
00003 
00004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00005 
00006 #include "SimGeneral/GFlash/interface/GflashNameSpace.h"
00007 #include "SimGeneral/GFlash/interface/GflashTrajectory.h"
00008 
00009 #include <vector>
00010 
00011 class GflashHit;
00012 class GflashShowino;
00013 class GflashHistogram;
00014 
00015 class GflashEMShowerProfile 
00016 {
00017 public:
00018   //-------------------------
00019   // Constructor, destructor
00020   //-------------------------
00021   GflashEMShowerProfile (edm::ParameterSet parSet);
00022   ~GflashEMShowerProfile ();
00023 
00024   void initialize(int showerType, double energy, 
00025                   double globalTime, double charge,
00026                   Gflash3Vector &position,Gflash3Vector &momentum);
00027 
00028   void parameterization();
00029   GflashShowino* getGflashShowino() { return theShowino; }
00030   std::vector<GflashHit>& getGflashHitList() {return theGflashHitList;};
00031 
00032 private: 
00033   double getDistanceToOut(Gflash::CalorimeterNumber kCalor);
00034   Gflash3Vector locateHitPosition(GflashTrajectoryPoint& point, 
00035                                   double rCore, double rTail, 
00036                                   double probability, double &rShower);
00037 
00038 private:  
00039   Gflash::CalorimeterNumber jCalorimeter;
00040 
00041   edm::ParameterSet theParSet;
00042   double theBField;
00043   double theEnergyScaleEB;
00044   double theEnergyScaleEE;
00045 
00046   GflashShowino *theShowino;
00047   GflashHistogram* theHisto;
00048   std::vector<GflashHit> theGflashHitList;
00049 
00050 };
00051 
00052 #endif
00053 
00054 
00055 
00056