CMS 3D CMS Logo

HFGflash.h
Go to the documentation of this file.
1 #ifndef SimG4CMS_HFGflash_h
2 #define SimG4CMS_HFGflash_h
3 
6 
10 
11 #include "G4VFastSimulationModel.hh"
12 #include "G4ParticleTable.hh"
13 #include "G4ThreeVector.hh"
14 #include "G4FastTrack.hh"
15 #include "G4TouchableHandle.hh"
16 #include "G4Navigator.hh"
17 
18 #include <string>
19 #include <vector>
20 
21 #include <TFile.h>
22 #include <TTree.h>
23 #include <TH1F.h>
24 #include <TH2F.h>
25 #include <TProfile.h>
26 
27 class G4Step;
28 
29 class HFGflash {
30 public:
32  virtual ~HFGflash();
33 
34  struct Hit {
35  Hit() {}
36  G4ThreeVector position;
37  int depth = 0;
38  double time = 0.;
39  double edep = 0.;
40  double pez = 0.;
41  };
42 
43  std::vector<Hit> gfParameterization(const G4Step *aStep, bool onlyLong = false);
44 
45 private:
47  G4Step *theGflashStep;
48  G4Navigator *theGflashNavigator;
49  G4TouchableHandle theGflashTouchableHandle;
50 
52 
55  G4double theBField;
56 
57  G4int showerType;
58  G4double energyToDeposit;
62  G4double lateralPar[4];
63 
67 };
68 
69 #endif // HFGflash_h
HFGflash::em_ssp_rho
TH1F * em_ssp_rho
Definition: HFGflash.h:64
GflashTrajectory.h
GflashEMShowerProfile.h
HFGflash::em_ratio_selected
TH2F * em_ratio_selected
Definition: HFGflash.h:66
Gflash::kNumberCalorimeter
Definition: GflashNameSpace.h:18
HFGflash::theGflashStep
G4Step * theGflashStep
Definition: HFGflash.h:47
MessageLogger.h
HFGflash::longEcal
G4double longEcal[Gflash::NPar]
Definition: HFGflash.h:61
HFGflash::Hit::edep
double edep
Definition: HFGflash.h:39
HFGflash::showerType
G4int showerType
Definition: HFGflash.h:57
HFGflash::Hit::time
double time
Definition: HFGflash.h:38
GflashNameSpace.h
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
HFGflash::em_ze_ratio
TH1F * em_ze_ratio
Definition: HFGflash.h:65
HFGflash::~HFGflash
virtual ~HFGflash()
Definition: HFGflash.cc:122
HFGflash::HFGflash
HFGflash(edm::ParameterSet const &p)
Definition: HFGflash.cc:37
GflashTrajectory
Definition: GflashTrajectory.h:6
Gflash::NPar
const int NPar
Definition: GflashNameSpace.h:87
HFGflash::Hit::position
G4ThreeVector position
Definition: HFGflash.h:36
HFGflash::theGflashTouchableHandle
G4TouchableHandle theGflashTouchableHandle
Definition: HFGflash.h:49
HFGflash::Hit::Hit
Hit()
Definition: HFGflash.h:35
HFGflash::em_long_sd
TH1F * em_long_sd
Definition: HFGflash.h:65
HFGflash::jCalorimeter
Gflash::CalorimeterNumber jCalorimeter
Definition: HFGflash.h:51
HFGflash::gfParameterization
std::vector< Hit > gfParameterization(const G4Step *aStep, bool onlyLong=false)
Definition: HFGflash.cc:128
HFGflash::longHcal
G4double longHcal[Gflash::NPar]
Definition: HFGflash.h:60
HFGflash::em_lateral_sd
TH1F * em_lateral_sd
Definition: HFGflash.h:65
HFGflash::theBField
G4double theBField
Definition: HFGflash.h:55
edm::ParameterSet
Definition: ParameterSet.h:36
HFGflash::Hit::pez
double pez
Definition: HFGflash.h:40
HFGflash::theWatcherOn
bool theWatcherOn
Definition: HFGflash.h:53
HFGflash::em_incE
TH1F * em_incE
Definition: HFGflash.h:64
HFGflash::Hit
Definition: HFGflash.h:34
HFGflash::em_long
TH1F * em_long
Definition: HFGflash.h:64
HFGflash::em_ssp_z
TH1F * em_ssp_z
Definition: HFGflash.h:64
HFGflash::lateralPar
G4double lateralPar[4]
Definition: HFGflash.h:62
Gflash::CalorimeterNumber
CalorimeterNumber
Definition: GflashNameSpace.h:10
HFGflash::em_2d_sd
TH2F * em_2d_sd
Definition: HFGflash.h:66
HFGflash::theHelix
GflashTrajectory * theHelix
Definition: HFGflash.h:46
HFGflash::energyToDeposit
G4double energyToDeposit
Definition: HFGflash.h:58
HFGflash::theGflashNavigator
G4Navigator * theGflashNavigator
Definition: HFGflash.h:48
HFGflash
Definition: HFGflash.h:29
HFGflash::em_ratio
TH2F * em_ratio
Definition: HFGflash.h:66
HFGflash::energyScale
G4double energyScale[Gflash::kNumberCalorimeter]
Definition: HFGflash.h:59
HFGflash::theFillHisto
bool theFillHisto
Definition: HFGflash.h:54
HFGflash::em_lateral
TH1F * em_lateral
Definition: HFGflash.h:64
ParameterSet.h
HFGflash::em_nSpots_sd
TH1F * em_nSpots_sd
Definition: HFGflash.h:65
HFGflash::em_2d
TH2F * em_2d
Definition: HFGflash.h:66
HFGflash::Hit::depth
int depth
Definition: HFGflash.h:37
HFGflash::em_ze
TH2F * em_ze
Definition: HFGflash.h:66