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; }
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
float getAluminiumDmb(int is) const
float getTotalIL() const
float getStepInitialPx(int is)
float getElectronicsIL() const
float getStepInitialEta(int is)
#define constexpr
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)