CMS 3D CMS Logo

MaterialBudgetTree.h
Go to the documentation of this file.
1 #ifndef MaterialBudgetTree_h
2 #define MaterialBudgetTree_h 1
3 
4 #include "TFile.h"
5 #include "TTree.h"
6 #include "G4ThreeVector.hh"
7 
9 
11 public:
12  MaterialBudgetTree(std::shared_ptr<MaterialBudgetData> data, const std::string& fileName);
13  ~MaterialBudgetTree() override {}
14 
15  void fillStartTrack() override;
16  void fillPerStep() override;
17  void fillEndTrack() override;
18  void endOfRun() override;
19 
20 private:
21  void book(); // user booking
22  std::unique_ptr<TFile> theFile;
23  std::unique_ptr<TTree> theTree;
25 
26  static const int MAXSTEPS = 10000;
27 
28  float t_MB;
29  float t_IL;
30 
32  float t_ParticlePt;
37 
38  int t_Nsteps;
39 
48 
57 
61  double t_FinalX[MAXSTEPS];
62  double t_FinalY[MAXSTEPS];
63  double t_FinalZ[MAXSTEPS];
64 
66  const char* t_VolumeName[MAXSTEPS];
80 
82  const char* t_MaterialName[MAXSTEPS];
85  float t_MaterialDensity[MAXSTEPS]; // g/cm3
109 };
110 
111 #endif
std::unique_ptr< TFile > theFile
float t_MaterialLambda0[MAXSTEPS]
float t_DeltaIL_CAB[MAXSTEPS]
float t_ParticleStepFinalEnergy[MAXSTEPS]
void fillPerStep() override
float t_VolumeXaxis3[MAXSTEPS]
float t_DeltaMB_CAB[MAXSTEPS]
float t_DeltaMB_SEN[MAXSTEPS]
float t_VolumeXaxis1[MAXSTEPS]
float t_ParticleStepFinalPt[MAXSTEPS]
MaterialBudgetTree(std::shared_ptr< MaterialBudgetData > data, const std::string &fileName)
float t_DeltaIL_OTH[MAXSTEPS]
float t_ParticleStepFinalPhi[MAXSTEPS]
float t_ParticleStepInitialPt[MAXSTEPS]
int t_MaterialID[MAXSTEPS]
float t_DeltaIL_ELE[MAXSTEPS]
float t_DeltaIL_SEN[MAXSTEPS]
float t_ParticleStepInitialPx[MAXSTEPS]
double t_InitialX[MAXSTEPS]
double t_FinalX[MAXSTEPS]
float t_DeltaMB_AIR[MAXSTEPS]
float t_VolumeYaxis3[MAXSTEPS]
float t_ParticleStepFinalPx[MAXSTEPS]
float t_ParticleStepFinalEta[MAXSTEPS]
std::unique_ptr< TTree > theTree
float t_ParticleStepInitialPhi[MAXSTEPS]
float t_VolumeZaxis1[MAXSTEPS]
float t_ParticleStepInitialPz[MAXSTEPS]
float t_ParticleStepFinalGamma[MAXSTEPS]
int t_ParticleStepPostInteraction[MAXSTEPS]
float t_DeltaMB_COL[MAXSTEPS]
int t_VolumeID[MAXSTEPS]
float t_VolumeY[MAXSTEPS]
int t_ParticleStepID[MAXSTEPS]
static const int MAXSTEPS
float t_ParticleStepFinalPy[MAXSTEPS]
float t_ParticleStepInitialPy[MAXSTEPS]
float t_DeltaMB_OTH[MAXSTEPS]
float t_ParticleStepInitialEta[MAXSTEPS]
float t_VolumeZaxis3[MAXSTEPS]
double t_InitialY[MAXSTEPS]
float t_VolumeYaxis2[MAXSTEPS]
const char * t_VolumeName[MAXSTEPS]
float t_ParticleStepInitialEnergy[MAXSTEPS]
int t_ParticleStepPreInteraction[MAXSTEPS]
~MaterialBudgetTree() override
float t_ParticleStepFinalMass[MAXSTEPS]
float t_ParticleStepInitialBeta[MAXSTEPS]
float t_DeltaIL_COL[MAXSTEPS]
float t_MaterialDensity[MAXSTEPS]
float t_DeltaIL_AIR[MAXSTEPS]
const char * t_MaterialName[MAXSTEPS]
float t_ParticleStepFinalBeta[MAXSTEPS]
float t_VolumeZaxis2[MAXSTEPS]
float t_ParticleStepFinalPz[MAXSTEPS]
float t_ParticleStepInitialGamma[MAXSTEPS]
double t_FinalZ[MAXSTEPS]
float t_VolumeZ[MAXSTEPS]
void fillStartTrack() override
float t_DeltaMB_ELE[MAXSTEPS]
float t_DeltaMB[MAXSTEPS]
float t_VolumeX[MAXSTEPS]
void endOfRun() override
float t_DeltaMB_SUP[MAXSTEPS]
float t_DeltaIL[MAXSTEPS]
void fillEndTrack() override
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:80
float t_VolumeYaxis1[MAXSTEPS]
float t_DeltaIL_SUP[MAXSTEPS]
float t_ParticleStepInitialMass[MAXSTEPS]
double t_FinalY[MAXSTEPS]
float t_VolumeXaxis2[MAXSTEPS]
int t_VolumeCopy[MAXSTEPS]
double t_InitialZ[MAXSTEPS]
float t_MaterialX0[MAXSTEPS]