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