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 {
12 public:
13 
14  MaterialBudgetTree( std::shared_ptr<MaterialBudgetData> data, const std::string& fileName );
15  ~MaterialBudgetTree() override { }
16 
17  void fillStartTrack() override;
18  void fillPerStep() override;
19  void fillEndTrack() override;
20  void endOfRun() override;
21 
22 private:
23 
24  void book(); // user booking
25  std::unique_ptr<TFile> theFile;
26  std::unique_ptr<TTree> theTree;
27 
28  static const int MAXSTEPS = 10000;
29 
30  float t_MB;
31  float t_IL;
32 
34  float t_ParticlePt;
39 
40  int t_Nsteps;
41 
50 
59 
63  double t_FinalX[MAXSTEPS];
64  double t_FinalY[MAXSTEPS];
65  double t_FinalZ[MAXSTEPS];
66 
68  const char* t_VolumeName[MAXSTEPS];
82 
84  const char* t_MaterialName[MAXSTEPS];
87  float t_MaterialDensity[MAXSTEPS]; // g/cm3
111 
112 };
113 
114 #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:82
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]