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
virtual ~HFGflash()
Definition: HFGflash.cc:122
G4Step * theGflashStep
Definition: HFGflash.h:47
TH2F * em_ze
Definition: HFGflash.h:66
G4Navigator * theGflashNavigator
Definition: HFGflash.h:48
std::vector< Hit > gfParameterization(const G4Step *aStep, bool onlyLong=false)
Definition: HFGflash.cc:128
double pez
Definition: HFGflash.h:40
G4int showerType
Definition: HFGflash.h:57
TH1F * em_ssp_z
Definition: HFGflash.h:64
G4double longHcal[Gflash::NPar]
Definition: HFGflash.h:60
Gflash::CalorimeterNumber jCalorimeter
Definition: HFGflash.h:51
G4double theBField
Definition: HFGflash.h:55
G4double energyToDeposit
Definition: HFGflash.h:58
bool theFillHisto
Definition: HFGflash.h:54
G4double lateralPar[4]
Definition: HFGflash.h:62
TH2F * em_ratio_selected
Definition: HFGflash.h:66
G4TouchableHandle theGflashTouchableHandle
Definition: HFGflash.h:49
G4double longEcal[Gflash::NPar]
Definition: HFGflash.h:61
double edep
Definition: HFGflash.h:39
bool theWatcherOn
Definition: HFGflash.h:53
TH2F * em_ratio
Definition: HFGflash.h:66
TH1F * em_ze_ratio
Definition: HFGflash.h:65
const int NPar
HFGflash(edm::ParameterSet const &p)
Definition: HFGflash.cc:37
TH1F * em_ssp_rho
Definition: HFGflash.h:64
double time
Definition: HFGflash.h:38
TH1F * em_lateral_sd
Definition: HFGflash.h:65
TH1F * em_nSpots_sd
Definition: HFGflash.h:65
TH1F * em_lateral
Definition: HFGflash.h:64
TH1F * em_long
Definition: HFGflash.h:64
G4ThreeVector position
Definition: HFGflash.h:36
TH1F * em_incE
Definition: HFGflash.h:64
GflashTrajectory * theHelix
Definition: HFGflash.h:46
TH1F * em_long_sd
Definition: HFGflash.h:65
TH2F * em_2d
Definition: HFGflash.h:66
TH2F * em_2d_sd
Definition: HFGflash.h:66
G4double energyScale[Gflash::kNumberCalorimeter]
Definition: HFGflash.h:59