CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MaterialBudgetData.h
Go to the documentation of this file.
1 
2 #ifndef MaterialBudgetData_h
3 #define MaterialBudgetData_h 1
4 
6 
7 #include "G4ThreeVector.hh"
8 
9 #include <CLHEP/Vector/LorentzVector.h>
10 
12 
13 #include <memory>
14 
15 class MaterialBudgetData;
16 class G4Step;
17 class G4Track;
18 
19 typedef std::map<std::string, float> msf;
20 
22 public:
25 
26  void dataStartTrack(const G4Track* aTrack);
27  void dataEndTrack(const G4Track* aTrack);
28  void dataPerStep(const G4Step* aStep);
29 
30  void SetAllStepsToTree();
31 
32 public:
33  float getTotalMB() const { return theTotalMB; }
34 
35  float getSupportFractionMB() const { return theSupportFractionMB; }
37  float getCablesFractionMB() const { return theCablesFractionMB; }
38  float getCoolingFractionMB() const { return theCoolingFractionMB; }
40  float getOtherFractionMB() const { return theOtherFractionMB; }
41  float getAirFractionMB() const { return theAirFractionMB; }
42  //HGCal
43  float getCopperFractionMB() const { return theCopperFractionMB; }
45  float getLeadFractionMB() const { return theLeadFractionMB; }
46  float getEpoxyFractionMB() const { return theEpoxyFractionMB; }
47  float getKaptonFractionMB() const { return theKaptonFractionMB; }
50  float getSiliconFractionMB() const { return theSiliconFractionMB; }
52  float getWCuFractionMB() const { return theWCuFractionMB; }
53 
54  float getSupportMB() const { return theSupportMB; }
55  float getSensitiveMB() const { return theSensitiveMB; }
56  float getCablesMB() const { return theCablesMB; }
57  float getCoolingMB() const { return theCoolingMB; }
58  float getElectronicsMB() const { return theElectronicsMB; }
59  float getOtherMB() const { return theOtherMB; }
60  float getAirMB() const { return theAirMB; }
61  //HGCal
62  float getCopperMB() const { return theCopperMB; }
63  float getH_ScintillatorMB() const { return theH_ScintillatorMB; }
64  float getLeadMB() const { return theLeadMB; }
65  float getEpoxyMB() const { return theEpoxyMB; }
66  float getKaptonMB() const { return theKaptonMB; }
67  float getAluminiumMB() const { return theAluminiumMB; }
68  float getHGC_G10_FR4MB() const { return theHGC_G10_FR4MB; }
69  float getSiliconMB() const { return theSiliconMB; }
70  float getStainlessSteelMB() const { return theStainlessSteelMB; }
71  float getWCuMB() const { return theWCuMB; }
72 
73  float getSupportFractionIL() const { return theSupportFractionIL; }
75  float getCablesFractionIL() const { return theCablesFractionIL; }
76  float getCoolingFractionIL() const { return theCoolingFractionIL; }
78  float getOtherFractionIL() const { return theOtherFractionIL; }
79  float getAirFractionIL() const { return theAirFractionIL; }
80  float getCopperFractionIL() const { return theCopperFractionIL; }
82  float getLeadFractionIL() const { return theLeadFractionIL; }
83  float getEpoxyFractionIL() const { return theEpoxyFractionIL; }
84  float getKaptonFractionIL() const { return theKaptonFractionIL; }
87  float getSiliconFractionIL() const { return theSiliconFractionIL; }
89  float getWCuFractionIL() const { return theWCuFractionIL; }
90  float getTotalIL() const { return theTotalIL; }
91  float getSupportIL() const { return theSupportIL; }
92  float getSensitiveIL() const { return theSensitiveIL; }
93  float getCablesIL() const { return theCablesIL; }
94  float getCoolingIL() const { return theCoolingIL; }
95  float getElectronicsIL() const { return theElectronicsIL; }
96  float getOtherIL() const { return theOtherIL; }
97  float getAirIL() const { return theAirIL; }
98  float getCopperIL() const { return theCopperIL; }
99  float getH_ScintillatorIL() const { return theH_ScintillatorIL; }
100  float getLeadIL() const { return theLeadIL; }
101  float getEpoxyIL() const { return theEpoxyIL; }
102  float getKaptonIL() const { return theKaptonIL; }
103  float getAluminiumIL() const { return theAluminiumIL; }
104  float getHGC_G10_FR4IL() const { return theHGC_G10_FR4IL; }
105  float getSiliconIL() const { return theSiliconIL; }
106  float getStainlessSteelIL() const { return theStainlessSteelIL; }
107  float getWCuIL() const { return theWCuIL; }
108 
109  float getEta() const { return theEta; }
110  float getPhi() const { return thePhi; }
111 
112  int getID() const { return theID; }
113  float getPt() const { return thePt; }
114  float getEnergy() const { return theEnergy; }
115  float getMass() const { return theMass; }
116 
117  int getNumberOfSteps() const { return theStepN; }
118 
119  float getTrkLen() const { return theTrkLen; }
120  std::string getPVname() const { return thePVname; }
121  int getPVcopyNo() const { return thePVcopyNo; }
122  float getRadLen() const { return theRadLen; }
123  float getIntLen() const { return theIntLen; }
124 
125  float getStepDmb(int is) { return theDmb[is]; }
126  float getSupportDmb(int is) const { return theSupportDmb[is]; }
127  float getSensitiveDmb(int is) const { return theSensitiveDmb[is]; }
128  float getCablesDmb(int is) const { return theCablesDmb[is]; }
129  float getCoolingDmb(int is) const { return theCoolingDmb[is]; }
130  float getElectronicsDmb(int is) const { return theElectronicsDmb[is]; }
131  float getOtherDmb(int is) const { return theOtherDmb[is]; }
132  float getAirDmb(int is) const { return theAirDmb[is]; }
133  float getCopperDmb(int is) const { return theCopperDmb[is]; }
134  float getH_ScintillatorDmb(int is) const { return theH_ScintillatorDmb[is]; }
135  float getLeadDmb(int is) const { return theLeadDmb[is]; }
136  float getEpoxyDmb(int is) const { return theEpoxyDmb[is]; }
137  float getKaptonDmb(int is) const { return theKaptonDmb[is]; }
138  float getAluminiumDmb(int is) const { return theAluminiumDmb[is]; }
139  float getHGC_G10_FR4Dmb(int is) const { return theHGC_G10_FR4Dmb[is]; }
140  float getSiliconDmb(int is) const { return theSiliconDmb[is]; }
141  float getStainlessSteelDmb(int is) const { return theStainlessSteelDmb[is]; }
142  float getWCuDmb(int is) const { return theWCuDmb[is]; }
143 
144  float getStepDil(int is) { return theDil[is]; }
145  float getSupportDil(int is) const { return theSupportDil[is]; }
146  float getSensitiveDil(int is) const { return theSensitiveDil[is]; }
147  float getCablesDil(int is) const { return theCablesDil[is]; }
148  float getCoolingDil(int is) const { return theCoolingDil[is]; }
149  float getElectronicsDil(int is) const { return theElectronicsDil[is]; }
150  float getOtherDil(int is) const { return theOtherDil[is]; }
151  float getAirDil(int is) const { return theAirDil[is]; }
152  float getCopperDil(int is) const { return theCopperDil[is]; }
153  float getH_ScintillatorDil(int is) const { return theH_ScintillatorDil[is]; }
154  float getLeadDil(int is) const { return theLeadDil[is]; }
155  float getEpoxyDil(int is) const { return theEpoxyDil[is]; }
156  float getKaptonDil(int is) const { return theKaptonDil[is]; }
157  float getAluminiumDil(int is) const { return theAluminiumDil[is]; }
158  float getHGC_G10_FR4Dil(int is) const { return theHGC_G10_FR4Dil[is]; }
159  float getSiliconDil(int is) const { return theSiliconDil[is]; }
160  float getStainlessSteelDil(int is) const { return theStainlessSteelDil[is]; }
161  float getWCuDil(int is) const { return theWCuDil[is]; }
162 
163  double getStepInitialX(int is) { return theInitialX[is]; }
164  double getStepInitialY(int is) { return theInitialY[is]; }
165  double getStepInitialZ(int is) { return theInitialZ[is]; }
166  double getStepFinalX(int is) { return theFinalX[is]; }
167  double getStepFinalY(int is) { return theFinalY[is]; }
168  double getStepFinalZ(int is) { return theFinalZ[is]; }
169  int getStepID(int is) { return theStepID[is]; }
170  float getStepInitialPt(int is) { return theStepInitialPt[is]; }
171  float getStepInitialEta(int is) { return theStepInitialEta[is]; }
172  float getStepInitialPhi(int is) { return theStepInitialPhi[is]; }
173  float getStepInitialEnergy(int is) { return theStepInitialEnergy[is]; }
174  float getStepInitialPx(int is) { return theStepInitialPx[is]; }
175  float getStepInitialPy(int is) { return theStepInitialPy[is]; }
176  float getStepInitialPz(int is) { return theStepInitialPz[is]; }
177  float getStepInitialBeta(int is) { return theStepInitialBeta[is]; }
178  float getStepInitialGamma(int is) { return theStepInitialGamma[is]; }
179  float getStepInitialMass(int is) { return theStepInitialMass[is]; }
180  float getStepFinalPt(int is) { return theStepFinalPt[is]; }
181  float getStepFinalEta(int is) { return theStepFinalEta[is]; }
182  float getStepFinalPhi(int is) { return theStepFinalPhi[is]; }
183  float getStepFinalEnergy(int is) { return theStepFinalEnergy[is]; }
184  float getStepFinalPx(int is) { return theStepFinalPx[is]; }
185  float getStepFinalPy(int is) { return theStepFinalPy[is]; }
186  float getStepFinalPz(int is) { return theStepFinalPz[is]; }
187  float getStepFinalBeta(int is) { return theStepFinalBeta[is]; }
188  float getStepFinalGamma(int is) { return theStepFinalGamma[is]; }
189  float getStepFinalMass(int is) { return theStepFinalMass[is]; }
190  int getStepPreProcess(int is) { return theStepPreProcess[is]; }
191  int getStepPostProcess(int is) { return theStepPostProcess[is]; }
192 
193  int getStepVolumeID(int is) { return theVolumeID[is]; }
195  int getStepVolumeCopy(int is) { return theVolumeCopy[is]; }
196  float getStepVolumeX(int is) { return theVolumeX[is]; }
197  float getStepVolumeY(int is) { return theVolumeY[is]; }
198  float getStepVolumeZ(int is) { return theVolumeZ[is]; }
199  CLHEP::HepLorentzVector getStepVolumeXaxis(int is) {
200  return CLHEP::HepLorentzVector(theVolumeXaxis1[is], theVolumeXaxis2[is], theVolumeXaxis3[is]);
201  }
202  CLHEP::HepLorentzVector getStepVolumeYaxis(int is) {
203  return CLHEP::HepLorentzVector(theVolumeYaxis1[is], theVolumeYaxis2[is], theVolumeYaxis3[is]);
204  }
205  CLHEP::HepLorentzVector getStepVolumeZaxis(int is) {
206  return CLHEP::HepLorentzVector(theVolumeZaxis1[is], theVolumeZaxis2[is], theVolumeZaxis3[is]);
207  }
208  int getStepMaterialID(int is) { return theMaterialID[is]; }
210  float getStepMaterialX0(int is) { return theMaterialX0[is]; }
211  float getStepMaterialLambda0(int is) { return theMaterialLambda0[is]; }
212  float getStepMaterialDensity(int is) { return theMaterialDensity[is]; }
213 
214  bool allStepsON() { return allStepsToTree; }
215 
216  inline bool getHGCalmode(void) { return isHGCal; }
217  inline void setHGCalmode(bool t) { isHGCal = t; }
218  inline void setMtdmode(bool t) { isMtd = t; }
219 
220 private:
221  static constexpr int MAXNUMBERSTEPS = 10000;
222 
223  float theTotalMB;
224  float theEta;
225  float thePhi;
226 
227  float thePt;
228  int theID;
229  float theEnergy;
230  float theMass;
247  float theCablesMB;
250  float theOtherMB;
251  float theAirMB;
252 
253  //HGCal MB
264  float theCopperMB;
266  float theLeadMB;
267  float theEpoxyMB;
268  float theKaptonMB;
273  float theWCuMB;
274  float theTotalIL;
277  float theCablesIL;
280  float theOtherIL;
281  float theAirIL;
282 
283  //HGCal IL
294  float theCopperIL;
296  float theLeadIL;
297  float theEpoxyIL;
298  float theKaptonIL;
303  float theWCuIL;
304 
305  int theStepN;
306  std::array<double, MAXNUMBERSTEPS> theInitialX;
307  std::array<double, MAXNUMBERSTEPS> theInitialY;
308  std::array<double, MAXNUMBERSTEPS> theInitialZ;
309 
310  std::array<double, MAXNUMBERSTEPS> theFinalX;
311  std::array<double, MAXNUMBERSTEPS> theFinalY;
312  std::array<double, MAXNUMBERSTEPS> theFinalZ;
313 
314  std::array<float, MAXNUMBERSTEPS> theDmb;
315  std::array<float, MAXNUMBERSTEPS> theSupportDmb;
316  std::array<float, MAXNUMBERSTEPS> theSensitiveDmb;
317  std::array<float, MAXNUMBERSTEPS> theCablesDmb;
318  std::array<float, MAXNUMBERSTEPS> theCoolingDmb;
319  std::array<float, MAXNUMBERSTEPS> theElectronicsDmb;
320  std::array<float, MAXNUMBERSTEPS> theOtherDmb;
321  std::array<float, MAXNUMBERSTEPS> theAirDmb;
322  std::array<float, MAXNUMBERSTEPS> theCopperDmb;
323  std::array<float, MAXNUMBERSTEPS> theH_ScintillatorDmb;
324  std::array<float, MAXNUMBERSTEPS> theLeadDmb;
325  std::array<float, MAXNUMBERSTEPS> theEpoxyDmb;
326  std::array<float, MAXNUMBERSTEPS> theKaptonDmb;
327  std::array<float, MAXNUMBERSTEPS> theAluminiumDmb;
328  std::array<float, MAXNUMBERSTEPS> theHGC_G10_FR4Dmb;
329  std::array<float, MAXNUMBERSTEPS> theSiliconDmb;
330  std::array<float, MAXNUMBERSTEPS> theStainlessSteelDmb;
331  std::array<float, MAXNUMBERSTEPS> theWCuDmb;
332 
333  std::array<float, MAXNUMBERSTEPS> theDil;
334  std::array<float, MAXNUMBERSTEPS> theSupportDil;
335  std::array<float, MAXNUMBERSTEPS> theSensitiveDil;
336  std::array<float, MAXNUMBERSTEPS> theCablesDil;
337  std::array<float, MAXNUMBERSTEPS> theCoolingDil;
338  std::array<float, MAXNUMBERSTEPS> theElectronicsDil;
339  std::array<float, MAXNUMBERSTEPS> theOtherDil;
340  std::array<float, MAXNUMBERSTEPS> theAirDil;
341  std::array<float, MAXNUMBERSTEPS> theCopperDil;
342  std::array<float, MAXNUMBERSTEPS> theH_ScintillatorDil;
343  std::array<float, MAXNUMBERSTEPS> theLeadDil;
344  std::array<float, MAXNUMBERSTEPS> theEpoxyDil;
345  std::array<float, MAXNUMBERSTEPS> theKaptonDil;
346  std::array<float, MAXNUMBERSTEPS> theAluminiumDil;
347  std::array<float, MAXNUMBERSTEPS> theHGC_G10_FR4Dil;
348  std::array<float, MAXNUMBERSTEPS> theSiliconDil;
349  std::array<float, MAXNUMBERSTEPS> theStainlessSteelDil;
350  std::array<float, MAXNUMBERSTEPS> theWCuDil;
351 
352  std::array<int, MAXNUMBERSTEPS> theVolumeID;
353  std::array<std::string, MAXNUMBERSTEPS> theVolumeName;
354  std::array<int, MAXNUMBERSTEPS> theVolumeCopy;
355  std::array<float, MAXNUMBERSTEPS> theVolumeX;
356  std::array<float, MAXNUMBERSTEPS> theVolumeY;
357  std::array<float, MAXNUMBERSTEPS> theVolumeZ;
358  std::array<float, MAXNUMBERSTEPS> theVolumeXaxis1;
359  std::array<float, MAXNUMBERSTEPS> theVolumeXaxis2;
360  std::array<float, MAXNUMBERSTEPS> theVolumeXaxis3;
361  std::array<float, MAXNUMBERSTEPS> theVolumeYaxis1;
362  std::array<float, MAXNUMBERSTEPS> theVolumeYaxis2;
363  std::array<float, MAXNUMBERSTEPS> theVolumeYaxis3;
364  std::array<float, MAXNUMBERSTEPS> theVolumeZaxis1;
365  std::array<float, MAXNUMBERSTEPS> theVolumeZaxis2;
366  std::array<float, MAXNUMBERSTEPS> theVolumeZaxis3;
367 
368  std::array<int, MAXNUMBERSTEPS> theMaterialID;
369  std::array<std::string, MAXNUMBERSTEPS> theMaterialName;
370  std::array<float, MAXNUMBERSTEPS> theMaterialX0;
371  std::array<float, MAXNUMBERSTEPS> theMaterialLambda0;
372  std::array<float, MAXNUMBERSTEPS> theMaterialDensity;
373 
374  std::array<int, MAXNUMBERSTEPS> theStepID;
375  std::array<float, MAXNUMBERSTEPS> theStepInitialPt;
376  std::array<float, MAXNUMBERSTEPS> theStepInitialEta;
377  std::array<float, MAXNUMBERSTEPS> theStepInitialPhi;
378  std::array<float, MAXNUMBERSTEPS> theStepInitialEnergy;
379  std::array<float, MAXNUMBERSTEPS> theStepInitialPx;
380  std::array<float, MAXNUMBERSTEPS> theStepInitialPy;
381  std::array<float, MAXNUMBERSTEPS> theStepInitialPz;
382  std::array<float, MAXNUMBERSTEPS> theStepInitialBeta;
383  std::array<float, MAXNUMBERSTEPS> theStepInitialGamma;
384  std::array<float, MAXNUMBERSTEPS> theStepInitialMass;
385  std::array<float, MAXNUMBERSTEPS> theStepFinalPt;
386  std::array<float, MAXNUMBERSTEPS> theStepFinalEta;
387  std::array<float, MAXNUMBERSTEPS> theStepFinalPhi;
388  std::array<float, MAXNUMBERSTEPS> theStepFinalEnergy;
389  std::array<float, MAXNUMBERSTEPS> theStepFinalPx;
390  std::array<float, MAXNUMBERSTEPS> theStepFinalPy;
391  std::array<float, MAXNUMBERSTEPS> theStepFinalPz;
392  std::array<float, MAXNUMBERSTEPS> theStepFinalBeta;
393  std::array<float, MAXNUMBERSTEPS> theStepFinalGamma;
394  std::array<float, MAXNUMBERSTEPS> theStepFinalMass;
395  std::array<int, MAXNUMBERSTEPS> theStepPreProcess;
396  std::array<int, MAXNUMBERSTEPS> theStepPostProcess;
397 
398  float theTrkLen;
399 
401 
403 
404  std::unique_ptr<MaterialBudgetCategorizer> myMaterialBudgetCategorizer;
405 
406  float theRadLen;
407  float theIntLen;
408  int stepN;
410  bool isHGCal; //HGCal mode
411  bool isMtd; //Mtd mode
412 
414 };
415 
416 #endif
float getTotalMB() const
float getH_ScintillatorIL() const
float getKaptonDil(int is) const
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis3
std::array< float, MAXNUMBERSTEPS > theMaterialX0
std::array< float, MAXNUMBERSTEPS > theStepInitialBeta
std::array< float, MAXNUMBERSTEPS > theStepInitialGamma
std::array< float, MAXNUMBERSTEPS > theSensitiveDil
std::array< std::string, MAXNUMBERSTEPS > theMaterialName
CLHEP::HepLorentzVector getStepVolumeYaxis(int is)
float getStepInitialEnergy(int is)
std::array< double, MAXNUMBERSTEPS > theFinalZ
float getCopperFractionIL() const
float getAirDmb(int is) const
float getKaptonDmb(int is) const
float getStepMaterialLambda0(int is)
std::array< float, MAXNUMBERSTEPS > theLeadDil
double getStepFinalX(int is)
std::array< float, MAXNUMBERSTEPS > theCopperDmb
std::array< float, MAXNUMBERSTEPS > theSiliconDmb
float getStepFinalEnergy(int is)
float getH_ScintillatorFractionMB() const
float getOtherDil(int is) const
std::array< float, MAXNUMBERSTEPS > theSensitiveDmb
float getSupportDil(int is) const
float getStepInitialGamma(int is)
float getSensitiveFractionMB() const
float getSupportFractionIL() const
std::array< double, MAXNUMBERSTEPS > theFinalX
std::array< double, MAXNUMBERSTEPS > theInitialZ
float getSiliconFractionIL() const
std::array< float, MAXNUMBERSTEPS > theStepFinalPy
int getStepVolumeCopy(int is)
float getSensitiveDmb(int is) const
float getStainlessSteelDil(int is) const
float getStepVolumeZ(int is)
float getSensitiveMB() const
float getStainlessSteelFractionMB() const
float getStepInitialPhi(int is)
float getSiliconMB() const
std::array< float, MAXNUMBERSTEPS > theStepFinalEnergy
float getStepFinalPhi(int is)
std::array< float, MAXNUMBERSTEPS > theMaterialLambda0
float getElectronicsFractionIL() const
float getStepMaterialX0(int is)
float getCoolingIL() const
float getCopperDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theSiliconDil
float getAirMB() const
float getElectronicsDil(int is) const
std::array< float, MAXNUMBERSTEPS > theLeadDmb
std::array< float, MAXNUMBERSTEPS > theSupportDmb
std::array< float, MAXNUMBERSTEPS > theSupportDil
float getEpoxyFractionIL() const
std::string getPVname() const
std::array< int, MAXNUMBERSTEPS > theStepID
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis1
std::array< int, MAXNUMBERSTEPS > theMaterialID
std::array< float, MAXNUMBERSTEPS > theStepFinalPt
float getLeadDil(int is) const
float getWCuDmb(int is) const
float getSiliconFractionMB() const
float getHGC_G10_FR4FractionMB() const
float getStepInitialBeta(int is)
std::array< float, MAXNUMBERSTEPS > theHGC_G10_FR4Dmb
float getAluminiumFractionMB() const
std::array< float, MAXNUMBERSTEPS > theStepInitialEta
float getCopperIL() const
std::array< float, MAXNUMBERSTEPS > theDil
float getH_ScintillatorDil(int is) const
float getAluminiumIL() const
float getAluminiumFractionIL() const
float getStepInitialMass(int is)
float getLeadFractionMB() const
std::unique_ptr< MaterialBudgetCategorizer > myMaterialBudgetCategorizer
std::array< float, MAXNUMBERSTEPS > theElectronicsDmb
float getOtherIL() const
std::array< float, MAXNUMBERSTEPS > theStepInitialMass
float getElectronicsFractionMB() const
double getStepInitialZ(int is)
std::array< int, MAXNUMBERSTEPS > theStepPreProcess
std::array< float, MAXNUMBERSTEPS > theAirDil
float getSiliconDmb(int is) const
float getStepInitialPy(int is)
float getStepInitialPt(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis1
float getStepFinalMass(int is)
std::array< float, MAXNUMBERSTEPS > theStepFinalGamma
std::array< float, MAXNUMBERSTEPS > theWCuDmb
std::array< double, MAXNUMBERSTEPS > theInitialX
float getCopperDil(int is) const
float getAirFractionMB() const
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis2
float getEpoxyFractionMB() const
float getStepFinalPt(int is)
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDmb
std::array< float, MAXNUMBERSTEPS > theCopperDil
std::array< float, MAXNUMBERSTEPS > theStepInitialPz
double getStepFinalY(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeZ
void dataEndTrack(const G4Track *aTrack)
float getEpoxyMB() const
std::array< float, MAXNUMBERSTEPS > theOtherDmb
float getSupportMB() const
int getStepMaterialID(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis3
float getKaptonFractionMB() const
void dataPerStep(const G4Step *aStep)
std::array< int, MAXNUMBERSTEPS > theVolumeCopy
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis2
std::array< float, MAXNUMBERSTEPS > theAluminiumDmb
float getCoolingDmb(int is) const
std::string getStepMaterialName(int is)
std::array< float, MAXNUMBERSTEPS > theStepInitialPy
float getCoolingDil(int is) const
float getOtherMB() const
float getStepFinalPy(int is)
std::array< double, MAXNUMBERSTEPS > theInitialY
float getSupportDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theEpoxyDmb
std::array< float, MAXNUMBERSTEPS > theStepFinalMass
float getAluminiumMB() const
float getStainlessSteelFractionIL() const
float getEpoxyDil(int is) const
float getStainlessSteelDmb(int is) const
float getHGC_G10_FR4Dmb(int is) const
float getStepDmb(int is)
std::string getStepVolumeName(int is)
std::array< float, MAXNUMBERSTEPS > theKaptonDil
float getEpoxyDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDil
std::array< float, MAXNUMBERSTEPS > theVolumeX
float getKaptonFractionIL() const
float getLeadFractionIL() const
float getLeadMB() const
double getStepFinalZ(int is)
float getStepVolumeY(int is)
float getEnergy() const
float getHGC_G10_FR4Dil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepInitialEnergy
float getCablesIL() const
float getIntLen() const
float getWCuDil(int is) const
float getStepFinalEta(int is)
float getCoolingMB() const
std::array< float, MAXNUMBERSTEPS > theHGC_G10_FR4Dil
float getCablesFractionMB() const
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis1
float getStainlessSteelMB() const
float getElectronicsMB() const
std::array< float, MAXNUMBERSTEPS > theStepInitialPt
std::array< float, MAXNUMBERSTEPS > theDmb
float getKaptonMB() const
float getKaptonIL() const
double getStepInitialY(int is)
float getCoolingFractionIL() const
float getWCuFractionIL() const
std::array< float, MAXNUMBERSTEPS > theCablesDmb
double getStepInitialX(int is)
std::array< int, MAXNUMBERSTEPS > theVolumeID
float getHGC_G10_FR4IL() const
float getHGC_G10_FR4FractionIL() const
std::array< float, MAXNUMBERSTEPS > theStepFinalBeta
float getMass() const
std::array< float, MAXNUMBERSTEPS > theVolumeY
float getOtherFractionIL() const
float getSensitiveFractionIL() const
float getWCuFractionMB() const
std::array< float, MAXNUMBERSTEPS > theMaterialDensity
int getNumberOfSteps() const
float getLeadIL() const
float getStepFinalGamma(int is)
float getH_ScintillatorDmb(int is) const
void dataStartTrack(const G4Track *aTrack)
std::array< float, MAXNUMBERSTEPS > theCablesDil
std::array< float, MAXNUMBERSTEPS > theStepFinalPx
std::array< float, MAXNUMBERSTEPS > theWCuDil
float getCopperMB() const
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDmb
float getSensitiveDil(int is) const
CLHEP::HepLorentzVector getStepVolumeXaxis(int is)
float getAirIL() const
std::array< float, MAXNUMBERSTEPS > theEpoxyDil
float getCopperFractionMB() const
float getH_ScintillatorFractionIL() const
float getStepFinalPx(int is)
float getAirDil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepInitialPx
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis2
float getEpoxyIL() const
float getSensitiveIL() const
float getHGC_G10_FR4MB() const
float getCablesDil(int is) const
float getCablesFractionIL() const
std::array< std::string, MAXNUMBERSTEPS > theVolumeName
float getRadLen() const
float getTrkLen() const
float getStepMaterialDensity(int is)
float getOtherFractionMB() const
float getCoolingFractionMB() const
std::array< float, MAXNUMBERSTEPS > theOtherDil
float getSiliconDil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepFinalPz
std::array< int, MAXNUMBERSTEPS > theStepPostProcess
float getStepVolumeX(int is)
std::array< double, MAXNUMBERSTEPS > theFinalY
std::array< float, MAXNUMBERSTEPS > theStepInitialPhi
float getSupportIL() const
std::map< std::string, float > msf
float getAirFractionIL() const
std::array< float, MAXNUMBERSTEPS > theCoolingDmb
std::array< float, MAXNUMBERSTEPS > theAirDmb
float getAluminiumDil(int is) const
float getSiliconIL() const
float getLeadDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis3
int getStepPostProcess(int is)
float getStepFinalBeta(int is)
float getCablesDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDil
float getStepFinalPz(int is)
float getOtherDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theStepFinalPhi
float getStepDil(int is)
std::array< float, MAXNUMBERSTEPS > theElectronicsDil
float getWCuIL() const
float getWCuMB() const
static constexpr int MAXNUMBERSTEPS
float getAluminiumDmb(int is) const
float getTotalIL() const
float getStepInitialPx(int is)
float getElectronicsIL() const
float getStepInitialEta(int is)
float getStainlessSteelIL() const
float getElectronicsDmb(int is) const
float getH_ScintillatorMB() const
std::array< float, MAXNUMBERSTEPS > theAluminiumDil
std::array< float, MAXNUMBERSTEPS > theStepFinalEta
std::array< float, MAXNUMBERSTEPS > theCoolingDil
CLHEP::HepLorentzVector getStepVolumeZaxis(int is)
float getCablesMB() const
float getStepInitialPz(int is)
std::array< float, MAXNUMBERSTEPS > theKaptonDmb
float getSupportFractionMB() const
int getStepPreProcess(int is)