CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/Validation/Geometry/interface/MaterialBudgetTree.h

Go to the documentation of this file.
00001 #ifndef MaterialBudgetTree_h
00002 #define MaterialBudgetTree_h 1
00003 
00004 #include "TFile.h"
00005 #include "TTree.h"
00006 #include "G4ThreeVector.hh"
00007 
00008 #include "Validation/Geometry/interface/MaterialBudgetFormat.h"
00009 
00010 //#include "HTL/Histograms.h" // Transient histograms.
00011 
00012 
00013 class MaterialBudgetTree : public MaterialBudgetFormat
00014 {
00015 public:
00016 
00017   MaterialBudgetTree( MaterialBudgetData* data, const std::string& fileName );   
00018   virtual ~MaterialBudgetTree(){ hend(); }
00019 
00020   virtual void fillStartTrack();
00021   virtual void fillPerStep();
00022   virtual void fillEndTrack();
00023   
00024 private:
00025   
00026   virtual void book();  // user booking
00027   virtual void hend();  // user ending
00028   
00029  private:
00030   TFile * theFile;
00031   TTree* theTree; 
00032 
00033   static const int MAXSTEPS = 10000;
00034   float t_MB;
00035   float t_IL;
00036   //  float t_Eta;
00037   //  float t_Phi;
00038   // rr
00039   int   t_ParticleID;
00040   float t_ParticlePt;
00041   float t_ParticleEta;
00042   float t_ParticlePhi;
00043   float t_ParticleEnergy;
00044   float t_ParticleMass;
00045   // rr
00046   int t_Nsteps;
00047   float t_DeltaMB[MAXSTEPS];
00048   float t_DeltaMB_SUP[MAXSTEPS];
00049   float t_DeltaMB_SEN[MAXSTEPS];
00050   float t_DeltaMB_CAB[MAXSTEPS];
00051   float t_DeltaMB_COL[MAXSTEPS];
00052   float t_DeltaMB_ELE[MAXSTEPS];
00053   float t_DeltaMB_OTH[MAXSTEPS];
00054   float t_DeltaMB_AIR[MAXSTEPS];
00055   float t_DeltaIL[MAXSTEPS];
00056   float t_DeltaIL_SUP[MAXSTEPS];
00057   float t_DeltaIL_SEN[MAXSTEPS];
00058   float t_DeltaIL_CAB[MAXSTEPS];
00059   float t_DeltaIL_COL[MAXSTEPS];
00060   float t_DeltaIL_ELE[MAXSTEPS];
00061   float t_DeltaIL_OTH[MAXSTEPS];
00062   float t_DeltaIL_AIR[MAXSTEPS];
00063   double t_InitialX[MAXSTEPS];
00064   double t_InitialY[MAXSTEPS];
00065   double t_InitialZ[MAXSTEPS];
00066   double t_FinalX[MAXSTEPS];
00067   double t_FinalY[MAXSTEPS];
00068   double t_FinalZ[MAXSTEPS];
00069   // rr
00070   int    t_VolumeID[MAXSTEPS];
00071   char*  t_VolumeName[MAXSTEPS];
00072   int    t_VolumeCopy[MAXSTEPS];
00073   float  t_VolumeX[MAXSTEPS];
00074   float  t_VolumeY[MAXSTEPS];
00075   float  t_VolumeZ[MAXSTEPS];
00076   float  t_VolumeXaxis1[MAXSTEPS];
00077   float  t_VolumeXaxis2[MAXSTEPS];
00078   float  t_VolumeXaxis3[MAXSTEPS];
00079   float  t_VolumeYaxis1[MAXSTEPS];
00080   float  t_VolumeYaxis2[MAXSTEPS];
00081   float  t_VolumeYaxis3[MAXSTEPS];
00082   float  t_VolumeZaxis1[MAXSTEPS];
00083   float  t_VolumeZaxis2[MAXSTEPS];
00084   float  t_VolumeZaxis3[MAXSTEPS];
00085   int   t_MaterialID[MAXSTEPS];
00086   char* t_MaterialName[MAXSTEPS];  
00087   float t_MaterialX0[MAXSTEPS];  
00088   float t_MaterialLambda0[MAXSTEPS];  
00089   float t_MaterialDensity[MAXSTEPS]; // g/cm3  
00090   int   t_ParticleStepID[MAXSTEPS];  
00091   float t_ParticleStepInitialPt[MAXSTEPS];  
00092   float t_ParticleStepInitialEta[MAXSTEPS];  
00093   float t_ParticleStepInitialPhi[MAXSTEPS];  
00094   float t_ParticleStepInitialEnergy[MAXSTEPS];  
00095   float t_ParticleStepInitialPx[MAXSTEPS];  
00096   float t_ParticleStepInitialPy[MAXSTEPS];  
00097   float t_ParticleStepInitialPz[MAXSTEPS];  
00098   float t_ParticleStepInitialBeta[MAXSTEPS];  
00099   float t_ParticleStepInitialGamma[MAXSTEPS];  
00100   float t_ParticleStepInitialMass[MAXSTEPS];  
00101   float t_ParticleStepFinalPt[MAXSTEPS];  
00102   float t_ParticleStepFinalEta[MAXSTEPS];  
00103   float t_ParticleStepFinalPhi[MAXSTEPS];  
00104   float t_ParticleStepFinalEnergy[MAXSTEPS];  
00105   float t_ParticleStepFinalPx[MAXSTEPS];  
00106   float t_ParticleStepFinalPy[MAXSTEPS];  
00107   float t_ParticleStepFinalPz[MAXSTEPS];  
00108   float t_ParticleStepFinalBeta[MAXSTEPS];  
00109   float t_ParticleStepFinalGamma[MAXSTEPS];  
00110   float t_ParticleStepFinalMass[MAXSTEPS];  
00111   int   t_ParticleStepPreInteraction[MAXSTEPS];  
00112   int   t_ParticleStepPostInteraction[MAXSTEPS];  
00113   // rr
00114 };
00115 
00116 
00117 #endif