CMS 3D CMS Logo

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 #include <array>
15 
16 class MaterialBudgetData;
17 class G4Step;
18 class G4Track;
19 
20 typedef std::map<std::string, float> msf;
21 
23 public:
26 
27  void dataStartTrack(const G4Track* aTrack);
28  void dataEndTrack(const G4Track* aTrack);
29  void dataPerStep(const G4Step* aStep);
30 
31  void SetAllStepsToTree();
32 
33 public:
34  float getTotalMB() const { return theTotalMB; }
35 
36  float getSupportFractionMB() const { return theSupportFractionMB; }
38  float getCablesFractionMB() const { return theCablesFractionMB; }
39  float getCoolingFractionMB() const { return theCoolingFractionMB; }
41  float getOtherFractionMB() const { return theOtherFractionMB; }
42  float getAirFractionMB() const { return theAirFractionMB; }
43  //HGCal
44  float getCopperFractionMB() const { return theCopperFractionMB; }
46  float getLeadFractionMB() const { return theLeadFractionMB; }
47  float getEpoxyFractionMB() const { return theEpoxyFractionMB; }
48  float getKaptonFractionMB() const { return theKaptonFractionMB; }
51  float getSiliconFractionMB() const { return theSiliconFractionMB; }
53  float getWCuFractionMB() const { return theWCuFractionMB; }
57 
58  float getSupportMB() const { return theSupportMB; }
59  float getSensitiveMB() const { return theSensitiveMB; }
60  float getCablesMB() const { return theCablesMB; }
61  float getCoolingMB() const { return theCoolingMB; }
62  float getElectronicsMB() const { return theElectronicsMB; }
63  float getOtherMB() const { return theOtherMB; }
64  float getAirMB() const { return theAirMB; }
65  //HGCal
66  float getCopperMB() const { return theCopperMB; }
67  float getH_ScintillatorMB() const { return theH_ScintillatorMB; }
68  float getLeadMB() const { return theLeadMB; }
69  float getEpoxyMB() const { return theEpoxyMB; }
70  float getKaptonMB() const { return theKaptonMB; }
71  float getAluminiumMB() const { return theAluminiumMB; }
72  float getHGC_G10_FR4MB() const { return theHGC_G10_FR4MB; }
73  float getSiliconMB() const { return theSiliconMB; }
74  float getStainlessSteelMB() const { return theStainlessSteelMB; }
75  float getWCuMB() const { return theWCuMB; }
76  float getPolystyreneMB() const { return thePolystyreneMB; }
77  float getHGC_EEConnectorMB() const { return theHGC_EEConnectorMB; }
78  float getHGC_HEConnectorMB() const { return theHGC_HEConnectorMB; }
79 
80  float getSupportFractionIL() const { return theSupportFractionIL; }
82  float getCablesFractionIL() const { return theCablesFractionIL; }
83  float getCoolingFractionIL() const { return theCoolingFractionIL; }
85  float getOtherFractionIL() const { return theOtherFractionIL; }
86  float getAirFractionIL() const { return theAirFractionIL; }
87  float getCopperFractionIL() const { return theCopperFractionIL; }
89  float getLeadFractionIL() const { return theLeadFractionIL; }
90  float getEpoxyFractionIL() const { return theEpoxyFractionIL; }
91  float getKaptonFractionIL() const { return theKaptonFractionIL; }
94  float getSiliconFractionIL() const { return theSiliconFractionIL; }
96  float getWCuFractionIL() const { return theWCuFractionIL; }
100 
101  float getTotalIL() const { return theTotalIL; }
102  float getSupportIL() const { return theSupportIL; }
103  float getSensitiveIL() const { return theSensitiveIL; }
104  float getCablesIL() const { return theCablesIL; }
105  float getCoolingIL() const { return theCoolingIL; }
106  float getElectronicsIL() const { return theElectronicsIL; }
107  float getOtherIL() const { return theOtherIL; }
108  float getAirIL() const { return theAirIL; }
109  float getCopperIL() const { return theCopperIL; }
110  float getH_ScintillatorIL() const { return theH_ScintillatorIL; }
111  float getLeadIL() const { return theLeadIL; }
112  float getEpoxyIL() const { return theEpoxyIL; }
113  float getKaptonIL() const { return theKaptonIL; }
114  float getAluminiumIL() const { return theAluminiumIL; }
115  float getHGC_G10_FR4IL() const { return theHGC_G10_FR4IL; }
116  float getSiliconIL() const { return theSiliconIL; }
117  float getStainlessSteelIL() const { return theStainlessSteelIL; }
118  float getWCuIL() const { return theWCuIL; }
119  float getPolystyreneIL() const { return thePolystyreneIL; }
120  float getHGC_EEConnectorIL() const { return theHGC_EEConnectorIL; }
121  float getHGC_HEConnectorIL() const { return theHGC_HEConnectorIL; }
122 
123  float getEta() const { return theEta; }
124  float getPhi() const { return thePhi; }
125 
126  int getID() const { return theID; }
127  float getPt() const { return thePt; }
128  float getEnergy() const { return theEnergy; }
129  float getMass() const { return theMass; }
130 
131  int getNumberOfSteps() const { return theStepN; }
132 
133  float getTrkLen() const { return theTrkLen; }
134  std::string getPVname() const { return thePVname; }
135  int getPVcopyNo() const { return thePVcopyNo; }
136  float getRadLen() const { return theRadLen; }
137  float getIntLen() const { return theIntLen; }
138 
139  float getStepDmb(int is) { return theDmb[is]; }
140  float getSupportDmb(int is) const { return theSupportDmb[is]; }
141  float getSensitiveDmb(int is) const { return theSensitiveDmb[is]; }
142  float getCablesDmb(int is) const { return theCablesDmb[is]; }
143  float getCoolingDmb(int is) const { return theCoolingDmb[is]; }
144  float getElectronicsDmb(int is) const { return theElectronicsDmb[is]; }
145  float getOtherDmb(int is) const { return theOtherDmb[is]; }
146  float getAirDmb(int is) const { return theAirDmb[is]; }
147  float getCopperDmb(int is) const { return theCopperDmb[is]; }
148  float getH_ScintillatorDmb(int is) const { return theH_ScintillatorDmb[is]; }
149  float getLeadDmb(int is) const { return theLeadDmb[is]; }
150  float getEpoxyDmb(int is) const { return theEpoxyDmb[is]; }
151  float getKaptonDmb(int is) const { return theKaptonDmb[is]; }
152  float getAluminiumDmb(int is) const { return theAluminiumDmb[is]; }
153  float getHGC_G10_FR4Dmb(int is) const { return theHGC_G10_FR4Dmb[is]; }
154  float getSiliconDmb(int is) const { return theSiliconDmb[is]; }
155  float getStainlessSteelDmb(int is) const { return theStainlessSteelDmb[is]; }
156  float getWCuDmb(int is) const { return theWCuDmb[is]; }
157  float getPolystyreneDmb(int is) const { return thePolystyreneDmb[is]; }
158  float getHGC_EEConnectorDmb(int is) const { return theHGC_EEConnectorDmb[is]; }
159  float getHGC_HEConnectorDmb(int is) const { return theHGC_HEConnectorDmb[is]; }
160 
161  float getStepDil(int is) { return theDil[is]; }
162  float getSupportDil(int is) const { return theSupportDil[is]; }
163  float getSensitiveDil(int is) const { return theSensitiveDil[is]; }
164  float getCablesDil(int is) const { return theCablesDil[is]; }
165  float getCoolingDil(int is) const { return theCoolingDil[is]; }
166  float getElectronicsDil(int is) const { return theElectronicsDil[is]; }
167  float getOtherDil(int is) const { return theOtherDil[is]; }
168  float getAirDil(int is) const { return theAirDil[is]; }
169  float getCopperDil(int is) const { return theCopperDil[is]; }
170  float getH_ScintillatorDil(int is) const { return theH_ScintillatorDil[is]; }
171  float getLeadDil(int is) const { return theLeadDil[is]; }
172  float getEpoxyDil(int is) const { return theEpoxyDil[is]; }
173  float getKaptonDil(int is) const { return theKaptonDil[is]; }
174  float getAluminiumDil(int is) const { return theAluminiumDil[is]; }
175  float getHGC_G10_FR4Dil(int is) const { return theHGC_G10_FR4Dil[is]; }
176  float getSiliconDil(int is) const { return theSiliconDil[is]; }
177  float getStainlessSteelDil(int is) const { return theStainlessSteelDil[is]; }
178  float getWCuDil(int is) const { return theWCuDil[is]; }
179  float getPolystyreneDil(int is) const { return thePolystyreneDil[is]; }
180  float getHGC_EEConnectorDil(int is) const { return theHGC_EEConnectorDil[is]; }
181  float getHGC_HEConnectorDil(int is) const { return theHGC_HEConnectorDil[is]; }
182 
183  double getStepInitialX(int is) { return theInitialX[is]; }
184  double getStepInitialY(int is) { return theInitialY[is]; }
185  double getStepInitialZ(int is) { return theInitialZ[is]; }
186  double getStepFinalX(int is) { return theFinalX[is]; }
187  double getStepFinalY(int is) { return theFinalY[is]; }
188  double getStepFinalZ(int is) { return theFinalZ[is]; }
189  int getStepID(int is) { return theStepID[is]; }
190  float getStepInitialPt(int is) { return theStepInitialPt[is]; }
191  float getStepInitialEta(int is) { return theStepInitialEta[is]; }
192  float getStepInitialPhi(int is) { return theStepInitialPhi[is]; }
193  float getStepInitialEnergy(int is) { return theStepInitialEnergy[is]; }
194  float getStepInitialPx(int is) { return theStepInitialPx[is]; }
195  float getStepInitialPy(int is) { return theStepInitialPy[is]; }
196  float getStepInitialPz(int is) { return theStepInitialPz[is]; }
197  float getStepInitialBeta(int is) { return theStepInitialBeta[is]; }
198  float getStepInitialGamma(int is) { return theStepInitialGamma[is]; }
199  float getStepInitialMass(int is) { return theStepInitialMass[is]; }
200  float getStepFinalPt(int is) { return theStepFinalPt[is]; }
201  float getStepFinalEta(int is) { return theStepFinalEta[is]; }
202  float getStepFinalPhi(int is) { return theStepFinalPhi[is]; }
203  float getStepFinalEnergy(int is) { return theStepFinalEnergy[is]; }
204  float getStepFinalPx(int is) { return theStepFinalPx[is]; }
205  float getStepFinalPy(int is) { return theStepFinalPy[is]; }
206  float getStepFinalPz(int is) { return theStepFinalPz[is]; }
207  float getStepFinalBeta(int is) { return theStepFinalBeta[is]; }
208  float getStepFinalGamma(int is) { return theStepFinalGamma[is]; }
209  float getStepFinalMass(int is) { return theStepFinalMass[is]; }
210  int getStepPreProcess(int is) { return theStepPreProcess[is]; }
211  int getStepPostProcess(int is) { return theStepPostProcess[is]; }
212 
213  int getStepVolumeID(int is) { return theVolumeID[is]; }
215  int getStepVolumeCopy(int is) { return theVolumeCopy[is]; }
216  float getStepVolumeX(int is) { return theVolumeX[is]; }
217  float getStepVolumeY(int is) { return theVolumeY[is]; }
218  float getStepVolumeZ(int is) { return theVolumeZ[is]; }
219  CLHEP::HepLorentzVector getStepVolumeXaxis(int is) {
220  return CLHEP::HepLorentzVector(theVolumeXaxis1[is], theVolumeXaxis2[is], theVolumeXaxis3[is]);
221  }
222  CLHEP::HepLorentzVector getStepVolumeYaxis(int is) {
223  return CLHEP::HepLorentzVector(theVolumeYaxis1[is], theVolumeYaxis2[is], theVolumeYaxis3[is]);
224  }
225  CLHEP::HepLorentzVector getStepVolumeZaxis(int is) {
226  return CLHEP::HepLorentzVector(theVolumeZaxis1[is], theVolumeZaxis2[is], theVolumeZaxis3[is]);
227  }
228  int getStepMaterialID(int is) { return theMaterialID[is]; }
230  float getStepMaterialX0(int is) { return theMaterialX0[is]; }
231  float getStepMaterialLambda0(int is) { return theMaterialLambda0[is]; }
232  float getStepMaterialDensity(int is) { return theMaterialDensity[is]; }
233 
234  bool allStepsON() { return allStepsToTree; }
235 
236  inline bool getHGCalmode(void) { return isHGCal; }
237  inline void setHGCalmode(bool t) { isHGCal = t; }
238  inline void setMtdmode(bool t) { isMtd = t; }
239 
240 private:
241  static constexpr int MAXNUMBERSTEPS = 10000;
242 
243  float theTotalMB;
244  float theEta;
245  float thePhi;
246 
247  float thePt;
248  int theID;
249  float theEnergy;
250  float theMass;
267  float theCablesMB;
270  float theOtherMB;
271  float theAirMB;
272 
273  //HGCal MB
287  float theCopperMB;
289  float theLeadMB;
290  float theEpoxyMB;
291  float theKaptonMB;
296  float theWCuMB;
300  float theTotalIL;
303  float theCablesIL;
306  float theOtherIL;
307  float theAirIL;
308 
309  //HGCal IL
323  float theCopperIL;
325  float theLeadIL;
326  float theEpoxyIL;
327  float theKaptonIL;
332  float theWCuIL;
336 
337  int theStepN;
338  std::array<double, MAXNUMBERSTEPS> theInitialX;
339  std::array<double, MAXNUMBERSTEPS> theInitialY;
340  std::array<double, MAXNUMBERSTEPS> theInitialZ;
341 
342  std::array<double, MAXNUMBERSTEPS> theFinalX;
343  std::array<double, MAXNUMBERSTEPS> theFinalY;
344  std::array<double, MAXNUMBERSTEPS> theFinalZ;
345 
346  std::array<float, MAXNUMBERSTEPS> theDmb;
347  std::array<float, MAXNUMBERSTEPS> theSupportDmb;
348  std::array<float, MAXNUMBERSTEPS> theSensitiveDmb;
349  std::array<float, MAXNUMBERSTEPS> theCablesDmb;
350  std::array<float, MAXNUMBERSTEPS> theCoolingDmb;
351  std::array<float, MAXNUMBERSTEPS> theElectronicsDmb;
352  std::array<float, MAXNUMBERSTEPS> theOtherDmb;
353  std::array<float, MAXNUMBERSTEPS> theAirDmb;
354  std::array<float, MAXNUMBERSTEPS> theCopperDmb;
355  std::array<float, MAXNUMBERSTEPS> theH_ScintillatorDmb;
356  std::array<float, MAXNUMBERSTEPS> theLeadDmb;
357  std::array<float, MAXNUMBERSTEPS> theEpoxyDmb;
358  std::array<float, MAXNUMBERSTEPS> theKaptonDmb;
359  std::array<float, MAXNUMBERSTEPS> theAluminiumDmb;
360  std::array<float, MAXNUMBERSTEPS> theHGC_G10_FR4Dmb;
361  std::array<float, MAXNUMBERSTEPS> theSiliconDmb;
362  std::array<float, MAXNUMBERSTEPS> theStainlessSteelDmb;
363  std::array<float, MAXNUMBERSTEPS> theWCuDmb;
364  std::array<float, MAXNUMBERSTEPS> thePolystyreneDmb;
365  std::array<float, MAXNUMBERSTEPS> theHGC_EEConnectorDmb;
366  std::array<float, MAXNUMBERSTEPS> theHGC_HEConnectorDmb;
367 
368  std::array<float, MAXNUMBERSTEPS> theDil;
369  std::array<float, MAXNUMBERSTEPS> theSupportDil;
370  std::array<float, MAXNUMBERSTEPS> theSensitiveDil;
371  std::array<float, MAXNUMBERSTEPS> theCablesDil;
372  std::array<float, MAXNUMBERSTEPS> theCoolingDil;
373  std::array<float, MAXNUMBERSTEPS> theElectronicsDil;
374  std::array<float, MAXNUMBERSTEPS> theOtherDil;
375  std::array<float, MAXNUMBERSTEPS> theAirDil;
376  std::array<float, MAXNUMBERSTEPS> theCopperDil;
377  std::array<float, MAXNUMBERSTEPS> theH_ScintillatorDil;
378  std::array<float, MAXNUMBERSTEPS> theLeadDil;
379  std::array<float, MAXNUMBERSTEPS> theEpoxyDil;
380  std::array<float, MAXNUMBERSTEPS> theKaptonDil;
381  std::array<float, MAXNUMBERSTEPS> theAluminiumDil;
382  std::array<float, MAXNUMBERSTEPS> theHGC_G10_FR4Dil;
383  std::array<float, MAXNUMBERSTEPS> theSiliconDil;
384  std::array<float, MAXNUMBERSTEPS> theStainlessSteelDil;
385  std::array<float, MAXNUMBERSTEPS> theWCuDil;
386  std::array<float, MAXNUMBERSTEPS> thePolystyreneDil;
387  std::array<float, MAXNUMBERSTEPS> theHGC_EEConnectorDil;
388  std::array<float, MAXNUMBERSTEPS> theHGC_HEConnectorDil;
389 
390  std::array<int, MAXNUMBERSTEPS> theVolumeID;
391  std::array<std::string, MAXNUMBERSTEPS> theVolumeName;
392  std::array<int, MAXNUMBERSTEPS> theVolumeCopy;
393  std::array<float, MAXNUMBERSTEPS> theVolumeX;
394  std::array<float, MAXNUMBERSTEPS> theVolumeY;
395  std::array<float, MAXNUMBERSTEPS> theVolumeZ;
396  std::array<float, MAXNUMBERSTEPS> theVolumeXaxis1;
397  std::array<float, MAXNUMBERSTEPS> theVolumeXaxis2;
398  std::array<float, MAXNUMBERSTEPS> theVolumeXaxis3;
399  std::array<float, MAXNUMBERSTEPS> theVolumeYaxis1;
400  std::array<float, MAXNUMBERSTEPS> theVolumeYaxis2;
401  std::array<float, MAXNUMBERSTEPS> theVolumeYaxis3;
402  std::array<float, MAXNUMBERSTEPS> theVolumeZaxis1;
403  std::array<float, MAXNUMBERSTEPS> theVolumeZaxis2;
404  std::array<float, MAXNUMBERSTEPS> theVolumeZaxis3;
405 
406  std::array<int, MAXNUMBERSTEPS> theMaterialID;
407  std::array<std::string, MAXNUMBERSTEPS> theMaterialName;
408  std::array<float, MAXNUMBERSTEPS> theMaterialX0;
409  std::array<float, MAXNUMBERSTEPS> theMaterialLambda0;
410  std::array<float, MAXNUMBERSTEPS> theMaterialDensity;
411 
412  std::array<int, MAXNUMBERSTEPS> theStepID;
413  std::array<float, MAXNUMBERSTEPS> theStepInitialPt;
414  std::array<float, MAXNUMBERSTEPS> theStepInitialEta;
415  std::array<float, MAXNUMBERSTEPS> theStepInitialPhi;
416  std::array<float, MAXNUMBERSTEPS> theStepInitialEnergy;
417  std::array<float, MAXNUMBERSTEPS> theStepInitialPx;
418  std::array<float, MAXNUMBERSTEPS> theStepInitialPy;
419  std::array<float, MAXNUMBERSTEPS> theStepInitialPz;
420  std::array<float, MAXNUMBERSTEPS> theStepInitialBeta;
421  std::array<float, MAXNUMBERSTEPS> theStepInitialGamma;
422  std::array<float, MAXNUMBERSTEPS> theStepInitialMass;
423  std::array<float, MAXNUMBERSTEPS> theStepFinalPt;
424  std::array<float, MAXNUMBERSTEPS> theStepFinalEta;
425  std::array<float, MAXNUMBERSTEPS> theStepFinalPhi;
426  std::array<float, MAXNUMBERSTEPS> theStepFinalEnergy;
427  std::array<float, MAXNUMBERSTEPS> theStepFinalPx;
428  std::array<float, MAXNUMBERSTEPS> theStepFinalPy;
429  std::array<float, MAXNUMBERSTEPS> theStepFinalPz;
430  std::array<float, MAXNUMBERSTEPS> theStepFinalBeta;
431  std::array<float, MAXNUMBERSTEPS> theStepFinalGamma;
432  std::array<float, MAXNUMBERSTEPS> theStepFinalMass;
433  std::array<int, MAXNUMBERSTEPS> theStepPreProcess;
434  std::array<int, MAXNUMBERSTEPS> theStepPostProcess;
435 
436  float theTrkLen;
437 
439 
441 
442  std::unique_ptr<MaterialBudgetCategorizer> myMaterialBudgetCategorizer;
443 
444  float theRadLen;
445  float theIntLen;
446  int stepN;
448  bool isHGCal; //HGCal mode
449  bool isMtd; //Mtd mode
450 
452 };
453 
454 #endif
float getHGC_HEConnectorIL() const
float getStainlessSteelDmb(int is) const
float getCoolingFractionIL() 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 getElectronicsDmb(int is) const
float getStepInitialEnergy(int is)
std::array< double, MAXNUMBERSTEPS > theFinalZ
float getPolystyreneFractionMB() const
float getHGC_EEConnectorDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theHGC_HEConnectorDil
float getStepMaterialLambda0(int is)
float getCopperIL() const
std::array< float, MAXNUMBERSTEPS > theLeadDil
double getStepFinalX(int is)
std::array< float, MAXNUMBERSTEPS > theCopperDmb
std::array< float, MAXNUMBERSTEPS > theSiliconDmb
float getLeadFractionMB() const
float getStepFinalEnergy(int is)
float getSensitiveFractionMB() const
float getElectronicsFractionMB() const
float getOtherMB() const
float getSiliconMB() const
std::array< float, MAXNUMBERSTEPS > theSensitiveDmb
float getSiliconIL() const
float getStepInitialGamma(int is)
float getAirFractionIL() const
float getSupportDmb(int is) const
std::array< double, MAXNUMBERSTEPS > theFinalX
std::array< double, MAXNUMBERSTEPS > theInitialZ
std::array< float, MAXNUMBERSTEPS > theStepFinalPy
float getH_ScintillatorDil(int is) const
int getStepVolumeCopy(int is)
float getStepVolumeZ(int is)
float getSensitiveDmb(int is) const
float getStepInitialPhi(int is)
float getHGC_EEConnectorDil(int is) const
float getElectronicsIL() const
std::array< float, MAXNUMBERSTEPS > theStepFinalEnergy
float getStepFinalPhi(int is)
float getHGC_EEConnectorMB() const
std::array< float, MAXNUMBERSTEPS > theMaterialLambda0
float getSiliconDmb(int is) const
float getAluminiumFractionIL() const
float getStepMaterialX0(int is)
float getSupportMB() const
std::array< float, MAXNUMBERSTEPS > theSiliconDil
float getHGC_G10_FR4FractionIL() const
float getAluminiumDil(int is) const
float getHGC_EEConnectorFractionIL() const
float getSensitiveFractionIL() const
float getCopperFractionMB() const
std::array< float, MAXNUMBERSTEPS > theLeadDmb
std::array< float, MAXNUMBERSTEPS > theSupportDmb
float getCopperMB() const
std::array< float, MAXNUMBERSTEPS > theSupportDil
std::array< int, MAXNUMBERSTEPS > theStepID
float getKaptonDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis1
float getLeadDil(int is) const
float getHGC_G10_FR4IL() const
std::array< int, MAXNUMBERSTEPS > theMaterialID
float getKaptonDil(int is) const
float getHGC_HEConnectorDmb(int is) const
float getWCuFractionMB() const
std::array< float, MAXNUMBERSTEPS > theStepFinalPt
float getSensitiveIL() const
float getStepInitialBeta(int is)
std::array< float, MAXNUMBERSTEPS > theHGC_G10_FR4Dmb
float getElectronicsDil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepInitialEta
std::array< float, MAXNUMBERSTEPS > theDil
float getWCuMB() const
float getStepInitialMass(int is)
float getH_ScintillatorFractionMB() const
std::unique_ptr< MaterialBudgetCategorizer > myMaterialBudgetCategorizer
float getElectronicsMB() const
float getTotalMB() const
float getEpoxyFractionIL() const
std::array< float, MAXNUMBERSTEPS > theElectronicsDmb
float getAluminiumMB() const
float getCablesFractionMB() const
std::array< float, MAXNUMBERSTEPS > theStepInitialMass
double getStepInitialZ(int is)
std::array< int, MAXNUMBERSTEPS > theStepPreProcess
std::array< float, MAXNUMBERSTEPS > theAirDil
float getStepInitialPy(int is)
float getStepInitialPt(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis1
float getH_ScintillatorDmb(int is) const
float getStepFinalMass(int is)
float getHGC_HEConnectorDil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepFinalGamma
std::array< float, MAXNUMBERSTEPS > theWCuDmb
std::array< double, MAXNUMBERSTEPS > theInitialX
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis2
float getCoolingFractionMB() const
float getStepFinalPt(int is)
std::array< float, MAXNUMBERSTEPS > theHGC_HEConnectorDmb
float getCoolingDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDmb
float getHGC_HEConnectorMB() const
float getEpoxyDil(int is) const
float getLeadDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theCopperDil
std::array< float, MAXNUMBERSTEPS > theStepInitialPz
float getSupportIL() const
double getStepFinalY(int is)
float getSupportFractionMB() const
std::array< float, MAXNUMBERSTEPS > thePolystyreneDmb
std::array< float, MAXNUMBERSTEPS > theVolumeZ
float getH_ScintillatorMB() const
float getCoolingIL() const
void dataEndTrack(const G4Track *aTrack)
std::array< float, MAXNUMBERSTEPS > theOtherDmb
float getH_ScintillatorIL() const
float getSiliconFractionMB() const
int getStepMaterialID(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis3
float getSensitiveMB() const
std::array< float, MAXNUMBERSTEPS > theHGC_EEConnectorDmb
float getHGC_EEConnectorFractionMB() const
float getCablesIL() const
float getStainlessSteelFractionIL() const
void dataPerStep(const G4Step *aStep)
std::array< int, MAXNUMBERSTEPS > theVolumeCopy
float getHGC_EEConnectorIL() const
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis2
float getKaptonFractionIL() const
float getPolystyreneDil(int is) const
std::array< float, MAXNUMBERSTEPS > theAluminiumDmb
std::string getStepMaterialName(int is)
std::array< float, MAXNUMBERSTEPS > theStepInitialPy
float getStepFinalPy(int is)
std::array< double, MAXNUMBERSTEPS > theInitialY
float getSensitiveDil(int is) const
std::array< float, MAXNUMBERSTEPS > theEpoxyDmb
std::array< float, MAXNUMBERSTEPS > theStepFinalMass
float getSupportDil(int is) const
float getLeadFractionIL() const
float getSiliconFractionIL() const
float getAirDmb(int is) const
float getKaptonMB() const
float getAirMB() const
float getOtherDmb(int is) const
float getStepDmb(int is)
float getAluminiumIL() const
std::string getStepVolumeName(int is)
std::array< float, MAXNUMBERSTEPS > theKaptonDil
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDil
std::array< float, MAXNUMBERSTEPS > theVolumeX
float getStainlessSteelMB() const
double getStepFinalZ(int is)
float getStepVolumeY(int is)
std::array< float, MAXNUMBERSTEPS > theStepInitialEnergy
float getCopperDmb(int is) const
float getStepFinalEta(int is)
float getPolystyreneDmb(int is) const
float getWCuDmb(int is) const
float getHGC_G10_FR4MB() const
float getEpoxyFractionMB() const
std::array< float, MAXNUMBERSTEPS > theHGC_G10_FR4Dil
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis1
std::array< float, MAXNUMBERSTEPS > theStepInitialPt
float getStainlessSteelIL() const
std::array< float, MAXNUMBERSTEPS > theDmb
float getPolystyreneIL() const
double getStepInitialY(int is)
int getNumberOfSteps() const
float getStainlessSteelFractionMB() const
std::array< float, MAXNUMBERSTEPS > theCablesDmb
float getWCuFractionIL() const
float getPolystyreneFractionIL() const
double getStepInitialX(int is)
std::array< int, MAXNUMBERSTEPS > theVolumeID
float getHGC_G10_FR4Dil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepFinalBeta
float getCoolingDil(int is) const
std::array< float, MAXNUMBERSTEPS > theVolumeY
std::array< float, MAXNUMBERSTEPS > theMaterialDensity
float getOtherIL() const
float getStepFinalGamma(int is)
float getEpoxyMB() const
float getKaptonFractionMB() const
float getEpoxyDmb(int is) const
float getCoolingMB() const
void dataStartTrack(const G4Track *aTrack)
std::array< float, MAXNUMBERSTEPS > theCablesDil
float getHGC_HEConnectorFractionIL() const
std::array< float, MAXNUMBERSTEPS > theStepFinalPx
std::array< float, MAXNUMBERSTEPS > theWCuDil
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDmb
CLHEP::HepLorentzVector getStepVolumeXaxis(int is)
float getStainlessSteelDil(int is) const
std::array< float, MAXNUMBERSTEPS > theEpoxyDil
float getPolystyreneMB() const
float getStepFinalPx(int is)
float getCopperDil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepInitialPx
float getAirDil(int is) const
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis2
float getCablesDil(int is) const
float getAirFractionMB() const
std::array< std::string, MAXNUMBERSTEPS > theVolumeName
float getCopperFractionIL() const
float getAluminiumDmb(int is) const
float getStepMaterialDensity(int is)
float getOtherFractionMB() const
float getWCuDil(int is) const
std::array< float, MAXNUMBERSTEPS > theOtherDil
std::array< float, MAXNUMBERSTEPS > theStepFinalPz
float getOtherDil(int is) const
std::array< int, MAXNUMBERSTEPS > theStepPostProcess
float getStepVolumeX(int is)
std::array< double, MAXNUMBERSTEPS > theFinalY
std::array< float, MAXNUMBERSTEPS > theStepInitialPhi
std::string getPVname() const
std::map< std::string, float > msf
float getCablesMB() const
std::array< float, MAXNUMBERSTEPS > theCoolingDmb
std::array< float, MAXNUMBERSTEPS > theAirDmb
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis3
int getStepPostProcess(int is)
std::array< float, MAXNUMBERSTEPS > theHGC_EEConnectorDil
float getStepFinalBeta(int is)
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDil
float getStepFinalPz(int is)
float getAluminiumFractionMB() const
std::array< float, MAXNUMBERSTEPS > theStepFinalPhi
float getCablesFractionIL() const
float getStepDil(int is)
float getSiliconDil(int is) const
float getOtherFractionIL() const
float getHGC_HEConnectorFractionMB() const
std::array< float, MAXNUMBERSTEPS > theElectronicsDil
float getHGC_G10_FR4Dmb(int is) const
float getHGC_G10_FR4FractionMB() const
float getCablesDmb(int is) const
float getSupportFractionIL() const
static constexpr int MAXNUMBERSTEPS
float getStepInitialPx(int is)
float getStepInitialEta(int is)
float getH_ScintillatorFractionIL() const
std::array< float, MAXNUMBERSTEPS > theAluminiumDil
float getLeadMB() const
std::array< float, MAXNUMBERSTEPS > theStepFinalEta
std::array< float, MAXNUMBERSTEPS > theCoolingDil
CLHEP::HepLorentzVector getStepVolumeZaxis(int is)
float getKaptonIL() const
float getElectronicsFractionIL() const
float getStepInitialPz(int is)
std::array< float, MAXNUMBERSTEPS > theKaptonDmb
float getEpoxyIL() const
std::array< float, MAXNUMBERSTEPS > thePolystyreneDil
float getTotalIL() const
int getStepPreProcess(int is)