CMS 3D CMS Logo

MaterialBudgetData.h
Go to the documentation of this file.
1 
2 #ifndef MaterialBudgetData_h
3 #define MaterialBudgetData_h 1
4 
5 
7 
8 #include "G4ThreeVector.hh"
9 
10 #include <CLHEP/Vector/LorentzVector.h>
11 
13 
14 #include <memory>
15 
16 class MaterialBudgetData;
17 class G4Step;
18 class G4Track;
19 
20 
21 typedef std::map< std::string, float > msf;
22 
24 public:
25 
28 
29  void dataStartTrack( const G4Track* aTrack );
30  void dataEndTrack( const G4Track* aTrack );
31  void dataPerStep( const G4Step* aStep );
32 
33  void SetAllStepsToTree();
34  public:
35  float getTotalMB() const {
36  return theTotalMB; }
37 
38  float getSupportFractionMB() const {
39  return theSupportFractionMB; }
40  float getSensitiveFractionMB() const {
41  return theSensitiveFractionMB; }
42  float getCablesFractionMB() const {
43  return theCablesFractionMB; }
44  float getCoolingFractionMB() const {
45  return theCoolingFractionMB; }
46  float getElectronicsFractionMB() const {
47  return theElectronicsFractionMB; }
48  float getOtherFractionMB() const {
49  return theOtherFractionMB; }
50  float getAirFractionMB() const {
51  return theAirFractionMB; }
52  //HGCal
53  float getCopperFractionMB() const {
54  return theCopperFractionMB; }
55  float getH_ScintillatorFractionMB() const {
57  float getLeadFractionMB() const {
58  return theLeadFractionMB; }
61  float getSiliconFractionMB() const {
62  return theSiliconFractionMB; }
63  float getStainlessSteelFractionMB() const {
65  float getWCuFractionMB() const {
66  return theWCuFractionMB; }
67 
68  float getSupportMB() const {
69  return theSupportMB; }
70  float getSensitiveMB() const {
71  return theSensitiveMB; }
72  float getCablesMB() const {
73  return theCablesMB; }
74  float getCoolingMB() const {
75  return theCoolingMB; }
76  float getElectronicsMB() const {
77  return theElectronicsMB; }
78  float getOtherMB() const {
79  return theOtherMB; }
80  float getAirMB() const {
81  return theAirMB; }
82  //HGCal
83  float getCopperMB() const {
84  return theCopperMB; }
85  float getH_ScintillatorMB() const {
86  return theH_ScintillatorMB; }
87  float getLeadMB() const {
88  return theLeadMB; }
89  float getM_NEMA_FR4_plateMB() const {
90  return theM_NEMA_FR4_plateMB; }
91  float getSiliconMB() const {
92  return theSiliconMB; }
93  float getStainlessSteelMB() const {
94  return theStainlessSteelMB; }
95  float getWCuMB() const {
96  return theWCuMB; }
97 
98  float getSupportFractionIL() const {
99  return theSupportFractionIL; }
100  float getSensitiveFractionIL() const {
101  return theSensitiveFractionIL; }
102  float getCablesFractionIL() const {
103  return theCablesFractionIL; }
104  float getCoolingFractionIL() const {
105  return theCoolingFractionIL; }
106  float getElectronicsFractionIL() const {
107  return theElectronicsFractionIL; }
108  float getOtherFractionIL() const {
109  return theOtherFractionIL; }
110  float getAirFractionIL() const {
111  return theAirFractionIL; }
112  float getCopperFractionIL() const {
113  return theCopperFractionIL; }
116  float getLeadFractionIL() const {
117  return theLeadFractionIL; }
120  float getSiliconFractionIL() const {
121  return theSiliconFractionIL; }
124  float getWCuFractionIL() const {
125  return theWCuFractionIL; }
126  float getTotalIL() const {
127  return theTotalIL; }
128  float getSupportIL() const {
129  return theSupportIL; }
130  float getSensitiveIL() const {
131  return theSensitiveIL; }
132  float getCablesIL() const {
133  return theCablesIL; }
134  float getCoolingIL() const {
135  return theCoolingIL; }
136  float getElectronicsIL() const {
137  return theElectronicsIL; }
138  float getOtherIL() const {
139  return theOtherIL; }
140  float getAirIL() const {
141  return theAirIL; }
142  float getCopperIL() const {
143  return theCopperIL; }
144  float getH_ScintillatorIL() const {
145  return theH_ScintillatorIL; }
146  float getLeadIL() const {
147  return theLeadIL; }
148  float getM_NEMA_FR4_plateIL() const {
149  return theM_NEMA_FR4_plateIL; }
150  float getSiliconIL() const {
151  return theSiliconIL; }
152  float getStainlessSteelIL() const {
153  return theStainlessSteelIL; }
154  float getWCuIL() const {
155  return theWCuIL; }
156 
157 
158  float getEta() const {
159  return theEta; }
160  float getPhi() const {
161  return thePhi; }
162 
163  int getID() const {
164  return theID; }
165  float getPt() const {
166  return thePt; }
167  float getEnergy() const {
168  return theEnergy; }
169  float getMass() const {
170  return theMass; }
171 
172 
173  int getNumberOfSteps() const {
174  return theStepN; }
175 
176  float getTrkLen() const {
177  return theTrkLen; }
179  return thePVname; }
180  int getPVcopyNo() const {
181  return thePVcopyNo; }
182  float getRadLen() const {
183  return theRadLen; }
184  float getIntLen() const {
185  return theIntLen; }
186 
187  float getStepDmb( int is ) {
188  return theDmb[is];
189  }
190  float getSupportDmb( int is ) const {
191  return theSupportDmb[is]; }
192  float getSensitiveDmb( int is ) const {
193  return theSensitiveDmb[is]; }
194  float getCablesDmb( int is ) const {
195  return theCablesDmb[is]; }
196  float getCoolingDmb( int is ) const {
197  return theCoolingDmb[is]; }
198  float getElectronicsDmb( int is ) const {
199  return theElectronicsDmb[is]; }
200  float getOtherDmb( int is ) const {
201  return theOtherDmb[is]; }
202  float getAirDmb( int is ) const {
203  return theAirDmb[is]; }
204  float getCopperDmb( int is ) const {
205  return theCopperDmb[is]; }
206  float getH_ScintillatorDmb( int is ) const {
207  return theH_ScintillatorDmb[is]; }
208  float getLeadDmb( int is ) const {
209  return theLeadDmb[is]; }
210  float getM_NEMA_FR4_plateDmb( int is ) const {
211  return theM_NEMA_FR4_plateDmb[is]; }
212  float getSiliconDmb( int is ) const {
213  return theSiliconDmb[is]; }
214  float getStainlessSteelDmb( int is ) const {
215  return theStainlessSteelDmb[is]; }
216  float getWCuDmb( int is ) const {
217  return theWCuDmb[is]; }
218 
219 
220  float getStepDil( int is ) {
221  return theDil[is];
222  }
223  float getSupportDil( int is ) const {
224  return theSupportDil[is]; }
225  float getSensitiveDil( int is ) const {
226  return theSensitiveDil[is]; }
227  float getCablesDil( int is ) const {
228  return theCablesDil[is]; }
229  float getCoolingDil( int is ) const {
230  return theCoolingDil[is]; }
231  float getElectronicsDil( int is ) const {
232  return theElectronicsDil[is]; }
233  float getOtherDil( int is ) const {
234  return theOtherDil[is]; }
235  float getAirDil( int is ) const {
236  return theAirDil[is]; }
237  float getCopperDil( int is ) const {
238  return theCopperDil[is]; }
239  float getH_ScintillatorDil( int is ) const {
240  return theH_ScintillatorDil[is]; }
241  float getLeadDil( int is ) const {
242  return theLeadDil[is]; }
243  float getM_NEMA_FR4_plateDil( int is ) const {
244  return theM_NEMA_FR4_plateDil[is]; }
245  float getSiliconDil( int is ) const {
246  return theSiliconDil[is]; }
247  float getStainlessSteelDil( int is ) const {
248  return theStainlessSteelDil[is]; }
249  float getWCuDil( int is ) const {
250  return theWCuDil[is]; }
251 
252  double getStepInitialX( int is ) {
253  return theInitialX[is];
254  }
255  double getStepInitialY( int is ) {
256  return theInitialY[is];
257  }
258  double getStepInitialZ( int is ) {
259  return theInitialZ[is];
260  }
261  double getStepFinalX( int is ) {
262  return theFinalX[is];
263  }
264  double getStepFinalY( int is ) {
265  return theFinalY[is];
266  }
267  double getStepFinalZ( int is ) {
268  return theFinalZ[is];
269  }
270  int getStepID( int is) {
271  return theStepID[is];
272  }
273  float getStepInitialPt( int is) {
274  return theStepInitialPt[is];
275  }
276  float getStepInitialEta( int is) {
277  return theStepInitialEta[is];
278  }
279  float getStepInitialPhi( int is) {
280  return theStepInitialPhi[is];
281  }
282  float getStepInitialEnergy( int is) {
283  return theStepInitialEnergy[is];
284  }
285  float getStepInitialPx( int is) {
286  return theStepInitialPx[is];
287  }
288  float getStepInitialPy( int is) {
289  return theStepInitialPy[is];
290  }
291  float getStepInitialPz( int is) {
292  return theStepInitialPz[is];
293  }
294  float getStepInitialBeta( int is) {
295  return theStepInitialBeta[is];
296  }
297  float getStepInitialGamma( int is) {
298  return theStepInitialGamma[is];
299  }
300  float getStepInitialMass( int is) {
301  return theStepInitialMass[is];
302  }
303  float getStepFinalPt( int is) {
304  return theStepFinalPt[is];
305  }
306  float getStepFinalEta( int is) {
307  return theStepFinalEta[is];
308  }
309  float getStepFinalPhi( int is) {
310  return theStepFinalPhi[is];
311  }
312  float getStepFinalEnergy( int is) {
313  return theStepFinalEnergy[is];
314  }
315  float getStepFinalPx( int is) {
316  return theStepFinalPx[is];
317  }
318  float getStepFinalPy( int is) {
319  return theStepFinalPy[is];
320  }
321  float getStepFinalPz( int is) {
322  return theStepFinalPz[is];
323  }
324  float getStepFinalBeta( int is) {
325  return theStepFinalBeta[is];
326  }
327  float getStepFinalGamma( int is) {
328  return theStepFinalGamma[is];
329  }
330  float getStepFinalMass( int is) {
331  return theStepFinalMass[is];
332  }
333  int getStepPreProcess( int is) {
334  return theStepPreProcess[is];
335  }
336  int getStepPostProcess( int is) {
337  return theStepPostProcess[is];
338  }
339 
340  int getStepVolumeID( int is ) {
341  return theVolumeID[is];
342  }
344  return theVolumeName[is];
345  }
346  int getStepVolumeCopy( int is ) {
347  return theVolumeCopy[is];
348  }
349  float getStepVolumeX( int is ) {
350  return theVolumeX[is];
351  }
352  float getStepVolumeY( int is ) {
353  return theVolumeY[is];
354  }
355  float getStepVolumeZ( int is ) {
356  return theVolumeZ[is];
357  }
358  CLHEP::HepLorentzVector getStepVolumeXaxis( int is ) {
359  return CLHEP::HepLorentzVector(theVolumeXaxis1[is],theVolumeXaxis2[is],theVolumeXaxis3[is]);
360  }
361  CLHEP::HepLorentzVector getStepVolumeYaxis( int is ) {
362  return CLHEP::HepLorentzVector(theVolumeYaxis1[is],theVolumeYaxis2[is],theVolumeYaxis3[is]);
363  }
364  CLHEP::HepLorentzVector getStepVolumeZaxis( int is ) {
365  return CLHEP::HepLorentzVector(theVolumeZaxis1[is],theVolumeZaxis2[is],theVolumeZaxis3[is]);
366  }
367  int getStepMaterialID( int is ) {
368  return theMaterialID[is];
369  }
371  return theMaterialName[is];
372  }
373  float getStepMaterialX0( int is ) {
374  return theMaterialX0[is];
375  }
376  float getStepMaterialLambda0( int is ) {
377  return theMaterialLambda0[is];
378  }
379  float getStepMaterialDensity( int is ) {
380  return theMaterialDensity[is];
381  }
382 
383  bool allStepsON() {
384  return allStepsToTree;
385  }
386 
387  inline bool getHGCalmode(void) {return isHGCal;}
388  inline void setHGCalmode(bool t) {isHGCal=t;}
389 
390  private:
391 
392  static constexpr int MAXNUMBERSTEPS = 10000;
393 
394  float theTotalMB;
395  float theEta;
396  float thePhi;
397 
398  float thePt;
399  int theID;
400  float theEnergy;
401  float theMass;
418  float theCablesMB;
421  float theOtherMB;
422  float theAirMB;
423 
424  //HGCal MB
432  float theCopperMB;
434  float theLeadMB;
438  float theWCuMB;
439  float theTotalIL;
442  float theCablesIL;
445  float theOtherIL;
446  float theAirIL;
447 
448  //HGCal IL
456  float theCopperIL;
458  float theLeadIL;
462  float theWCuIL;
463 
464  int theStepN;
465  std::array<double,MAXNUMBERSTEPS> theInitialX;
466  std::array<double,MAXNUMBERSTEPS> theInitialY;
467  std::array<double,MAXNUMBERSTEPS> theInitialZ;
468 
469  std::array<double,MAXNUMBERSTEPS> theFinalX;
470  std::array<double,MAXNUMBERSTEPS> theFinalY;
471  std::array<double,MAXNUMBERSTEPS> theFinalZ;
472 
473  std::array<float,MAXNUMBERSTEPS> theDmb;
474  std::array<float,MAXNUMBERSTEPS> theSupportDmb;
475  std::array<float,MAXNUMBERSTEPS> theSensitiveDmb;
476  std::array<float,MAXNUMBERSTEPS> theCablesDmb;
477  std::array<float,MAXNUMBERSTEPS> theCoolingDmb;
478  std::array<float,MAXNUMBERSTEPS> theElectronicsDmb;
479  std::array<float,MAXNUMBERSTEPS> theOtherDmb;
480  std::array<float,MAXNUMBERSTEPS> theAirDmb;
481  std::array<float,MAXNUMBERSTEPS> theCopperDmb;
482  std::array<float,MAXNUMBERSTEPS> theH_ScintillatorDmb;
483  std::array<float,MAXNUMBERSTEPS> theLeadDmb;
484  std::array<float,MAXNUMBERSTEPS> theM_NEMA_FR4_plateDmb;
485  std::array<float,MAXNUMBERSTEPS> theSiliconDmb;
486  std::array<float,MAXNUMBERSTEPS> theStainlessSteelDmb;
487  std::array<float,MAXNUMBERSTEPS> theWCuDmb;
488 
489  std::array<float,MAXNUMBERSTEPS> theDil;
490  std::array<float,MAXNUMBERSTEPS> theSupportDil;
491  std::array<float,MAXNUMBERSTEPS> theSensitiveDil;
492  std::array<float,MAXNUMBERSTEPS> theCablesDil;
493  std::array<float,MAXNUMBERSTEPS> theCoolingDil;
494  std::array<float,MAXNUMBERSTEPS> theElectronicsDil;
495  std::array<float,MAXNUMBERSTEPS> theOtherDil;
496  std::array<float,MAXNUMBERSTEPS> theAirDil;
497  std::array<float,MAXNUMBERSTEPS> theCopperDil;
498  std::array<float,MAXNUMBERSTEPS> theH_ScintillatorDil;
499  std::array<float,MAXNUMBERSTEPS> theLeadDil;
500  std::array<float,MAXNUMBERSTEPS> theM_NEMA_FR4_plateDil;
501  std::array<float,MAXNUMBERSTEPS> theSiliconDil;
502  std::array<float,MAXNUMBERSTEPS> theStainlessSteelDil;
503  std::array<float,MAXNUMBERSTEPS> theWCuDil;
504 
505  std::array<int,MAXNUMBERSTEPS> theVolumeID;
506  std::array<std::string,MAXNUMBERSTEPS> theVolumeName;
507  std::array<int,MAXNUMBERSTEPS> theVolumeCopy;
508  std::array<float,MAXNUMBERSTEPS> theVolumeX;
509  std::array<float,MAXNUMBERSTEPS> theVolumeY;
510  std::array<float,MAXNUMBERSTEPS> theVolumeZ;
511  std::array<float,MAXNUMBERSTEPS> theVolumeXaxis1;
512  std::array<float,MAXNUMBERSTEPS> theVolumeXaxis2;
513  std::array<float,MAXNUMBERSTEPS> theVolumeXaxis3;
514  std::array<float,MAXNUMBERSTEPS> theVolumeYaxis1;
515  std::array<float,MAXNUMBERSTEPS> theVolumeYaxis2;
516  std::array<float,MAXNUMBERSTEPS> theVolumeYaxis3;
517  std::array<float,MAXNUMBERSTEPS> theVolumeZaxis1;
518  std::array<float,MAXNUMBERSTEPS> theVolumeZaxis2;
519  std::array<float,MAXNUMBERSTEPS> theVolumeZaxis3;
520 
521  std::array<int,MAXNUMBERSTEPS> theMaterialID;
522  std::array<std::string,MAXNUMBERSTEPS> theMaterialName;
523  std::array<float,MAXNUMBERSTEPS> theMaterialX0;
524  std::array<float,MAXNUMBERSTEPS> theMaterialLambda0;
525  std::array<float,MAXNUMBERSTEPS> theMaterialDensity;
526 
527  std::array<int,MAXNUMBERSTEPS> theStepID;
528  std::array<float,MAXNUMBERSTEPS> theStepInitialPt;
529  std::array<float,MAXNUMBERSTEPS> theStepInitialEta;
530  std::array<float,MAXNUMBERSTEPS> theStepInitialPhi;
531  std::array<float,MAXNUMBERSTEPS> theStepInitialEnergy;
532  std::array<float,MAXNUMBERSTEPS> theStepInitialPx;
533  std::array<float,MAXNUMBERSTEPS> theStepInitialPy;
534  std::array<float,MAXNUMBERSTEPS> theStepInitialPz;
535  std::array<float,MAXNUMBERSTEPS> theStepInitialBeta;
536  std::array<float,MAXNUMBERSTEPS> theStepInitialGamma;
537  std::array<float,MAXNUMBERSTEPS> theStepInitialMass;
538  std::array<float,MAXNUMBERSTEPS> theStepFinalPt;
539  std::array<float,MAXNUMBERSTEPS> theStepFinalEta;
540  std::array<float,MAXNUMBERSTEPS> theStepFinalPhi;
541  std::array<float,MAXNUMBERSTEPS> theStepFinalEnergy;
542  std::array<float,MAXNUMBERSTEPS> theStepFinalPx;
543  std::array<float,MAXNUMBERSTEPS> theStepFinalPy;
544  std::array<float,MAXNUMBERSTEPS> theStepFinalPz;
545  std::array<float,MAXNUMBERSTEPS> theStepFinalBeta;
546  std::array<float,MAXNUMBERSTEPS> theStepFinalGamma;
547  std::array<float,MAXNUMBERSTEPS> theStepFinalMass;
548  std::array<int,MAXNUMBERSTEPS> theStepPreProcess;
549  std::array<int,MAXNUMBERSTEPS> theStepPostProcess;
550 
551  float theTrkLen;
552 
554 
556 
557  std::unique_ptr<MaterialBudgetCategorizer> myMaterialBudgetCategorizer;
558 
559  float theRadLen;
560  float theIntLen;
561  int stepN;
563  bool isHGCal; //HGCal mode
564 
566 };
567 
568 #endif
float getTotalMB() const
float getH_ScintillatorIL() const
std::array< float, MAXNUMBERSTEPS > theStepInitialMass
std::array< float, MAXNUMBERSTEPS > theWCuDil
std::array< float, MAXNUMBERSTEPS > theMaterialX0
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis1
std::array< float, MAXNUMBERSTEPS > theAirDil
CLHEP::HepLorentzVector getStepVolumeYaxis(int is)
float getStepInitialEnergy(int is)
float getCopperFractionIL() const
float getM_NEMA_FR4_plateDil(int is) const
float getAirDmb(int is) const
float getStepMaterialLambda0(int is)
double getStepFinalX(int is)
float getStepFinalEnergy(int is)
std::array< float, MAXNUMBERSTEPS > theStepInitialBeta
float getH_ScintillatorFractionMB() const
float getOtherDil(int is) const
std::array< float, MAXNUMBERSTEPS > theSupportDmb
float getSupportDil(int is) const
float getStepInitialGamma(int is)
std::array< float, MAXNUMBERSTEPS > theStepFinalEta
float getSensitiveFractionMB() const
float getSupportFractionIL() const
float getSiliconFractionIL() const
std::array< float, MAXNUMBERSTEPS > theM_NEMA_FR4_plateDmb
std::array< int, MAXNUMBERSTEPS > theStepPreProcess
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDil
int getStepVolumeCopy(int is)
std::array< int, MAXNUMBERSTEPS > theStepPostProcess
float getSensitiveDmb(int is) const
float getStainlessSteelDil(int is) const
std::array< float, MAXNUMBERSTEPS > theSiliconDil
float getStepVolumeZ(int is)
float getSensitiveMB() const
float getStainlessSteelFractionMB() const
std::array< float, MAXNUMBERSTEPS > theCopperDmb
float getStepInitialPhi(int is)
std::array< double, MAXNUMBERSTEPS > theFinalX
float getSiliconMB() const
float getStepFinalPhi(int is)
float getElectronicsFractionIL() const
float getStepMaterialX0(int is)
std::array< float, MAXNUMBERSTEPS > theStepFinalBeta
float getCoolingIL() const
float getCopperDmb(int is) const
float getAirMB() const
std::array< float, MAXNUMBERSTEPS > theAirDmb
float getElectronicsDil(int is) const
std::array< float, MAXNUMBERSTEPS > theStepInitialPt
std::array< float, MAXNUMBERSTEPS > theWCuDmb
std::array< float, MAXNUMBERSTEPS > theStepInitialPz
std::string getPVname() const
std::array< float, MAXNUMBERSTEPS > theStepInitialPx
std::array< float, MAXNUMBERSTEPS > theStepFinalPhi
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis1
std::array< float, MAXNUMBERSTEPS > theM_NEMA_FR4_plateDil
float getLeadDil(int is) const
float getWCuDmb(int is) const
std::array< double, MAXNUMBERSTEPS > theInitialY
float getSiliconFractionMB() const
float getStepInitialBeta(int is)
#define constexpr
std::array< float, MAXNUMBERSTEPS > theStepFinalGamma
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis2
std::array< float, MAXNUMBERSTEPS > theStepFinalMass
float getCopperIL() const
float getH_ScintillatorDil(int is) const
float getM_NEMA_FR4_plateFractionMB() const
float getStepInitialMass(int is)
float getLeadFractionMB() const
std::unique_ptr< MaterialBudgetCategorizer > myMaterialBudgetCategorizer
float getOtherIL() const
float getElectronicsFractionMB() const
double getStepInitialZ(int is)
std::array< float, MAXNUMBERSTEPS > theSiliconDmb
float getSiliconDmb(int is) const
float getStepInitialPy(int is)
float getStepInitialPt(int is)
std::array< int, MAXNUMBERSTEPS > theVolumeCopy
float getStepFinalMass(int is)
std::array< float, MAXNUMBERSTEPS > theLeadDmb
std::array< double, MAXNUMBERSTEPS > theInitialZ
float getCopperDil(int is) const
float getAirFractionMB() const
std::array< float, MAXNUMBERSTEPS > theMaterialDensity
float getStepFinalPt(int is)
float getM_NEMA_FR4_plateMB() const
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis1
std::array< float, MAXNUMBERSTEPS > theOtherDmb
std::array< int, MAXNUMBERSTEPS > theStepID
double getStepFinalY(int is)
void dataEndTrack(const G4Track *aTrack)
std::array< float, MAXNUMBERSTEPS > theSensitiveDil
float getSupportMB() const
int getStepMaterialID(int is)
std::array< double, MAXNUMBERSTEPS > theFinalY
void dataPerStep(const G4Step *aStep)
float getCoolingDmb(int is) const
std::string getStepMaterialName(int is)
float getCoolingDil(int is) const
float getM_NEMA_FR4_plateFractionIL() const
float getOtherMB() const
float getStepFinalPy(int is)
float getM_NEMA_FR4_plateIL() const
float getSupportDmb(int is) const
float getStainlessSteelFractionIL() const
float getStainlessSteelDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theStepFinalPx
std::array< float, MAXNUMBERSTEPS > theStepInitialEta
std::array< float, MAXNUMBERSTEPS > theStepInitialPhi
std::array< float, MAXNUMBERSTEPS > theCoolingDmb
float getStepDmb(int is)
std::string getStepVolumeName(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeX
float getLeadFractionIL() const
float getLeadMB() const
double getStepFinalZ(int is)
float getStepVolumeY(int is)
float getEnergy() const
float getCablesIL() const
float getIntLen() const
float getWCuDil(int is) const
std::array< float, MAXNUMBERSTEPS > theLeadDil
std::array< float, MAXNUMBERSTEPS > theCablesDil
float getStepFinalEta(int is)
float getCoolingMB() const
float getCablesFractionMB() const
float getStainlessSteelMB() const
float getElectronicsMB() const
double getStepInitialY(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis2
float getCoolingFractionIL() const
float getWCuFractionIL() const
std::array< float, MAXNUMBERSTEPS > theSupportDil
float getM_NEMA_FR4_plateDmb(int is) const
double getStepInitialX(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis3
std::array< float, MAXNUMBERSTEPS > theStepFinalPt
std::array< float, MAXNUMBERSTEPS > theStepFinalPy
std::array< float, MAXNUMBERSTEPS > theDil
std::array< float, MAXNUMBERSTEPS > theMaterialLambda0
float getMass() const
std::array< double, MAXNUMBERSTEPS > theFinalZ
float getOtherFractionIL() const
float getSensitiveFractionIL() const
float getWCuFractionMB() const
std::array< float, MAXNUMBERSTEPS > theVolumeZ
int getNumberOfSteps() const
std::array< int, MAXNUMBERSTEPS > theVolumeID
std::array< float, MAXNUMBERSTEPS > theVolumeY
float getLeadIL() const
float getStepFinalGamma(int is)
std::array< float, MAXNUMBERSTEPS > theDmb
std::array< std::string, MAXNUMBERSTEPS > theVolumeName
float getH_ScintillatorDmb(int is) const
void dataStartTrack(const G4Track *aTrack)
std::map< std::string, float > msf
std::array< float, MAXNUMBERSTEPS > theStepFinalEnergy
float getCopperMB() const
float getSensitiveDil(int is) const
CLHEP::HepLorentzVector getStepVolumeXaxis(int is)
float getAirIL() const
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDmb
float getCopperFractionMB() const
float getH_ScintillatorFractionIL() const
float getStepFinalPx(int is)
std::array< float, MAXNUMBERSTEPS > theStepInitialGamma
float getAirDil(int is) const
std::array< float, MAXNUMBERSTEPS > theSensitiveDmb
float getSensitiveIL() const
std::array< int, MAXNUMBERSTEPS > theMaterialID
float getCablesDil(int is) const
float getCablesFractionIL() const
std::array< float, MAXNUMBERSTEPS > theElectronicsDmb
float getRadLen() const
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis3
float getTrkLen() const
float getStepMaterialDensity(int is)
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis2
float getOtherFractionMB() const
float getCoolingFractionMB() const
std::array< float, MAXNUMBERSTEPS > theCoolingDil
float getSiliconDil(int is) const
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDil
std::array< float, MAXNUMBERSTEPS > theOtherDil
float getStepVolumeX(int is)
std::array< float, MAXNUMBERSTEPS > theStepInitialEnergy
std::array< float, MAXNUMBERSTEPS > theElectronicsDil
float getSupportIL() const
float getAirFractionIL() const
float getSiliconIL() const
float getLeadDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDmb
int getStepPostProcess(int is)
float getStepFinalBeta(int is)
float getCablesDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theCablesDmb
float getStepFinalPz(int is)
float getOtherDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theCopperDil
float getStepDil(int is)
std::array< std::string, MAXNUMBERSTEPS > theMaterialName
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis3
std::array< float, MAXNUMBERSTEPS > theStepInitialPy
float getWCuIL() const
float getWCuMB() const
float getTotalIL() const
float getStepInitialPx(int is)
float getElectronicsIL() const
float getStepInitialEta(int is)
float getStainlessSteelIL() const
float getElectronicsDmb(int is) const
std::array< float, MAXNUMBERSTEPS > theStepFinalPz
float getH_ScintillatorMB() const
CLHEP::HepLorentzVector getStepVolumeZaxis(int is)
float getCablesMB() const
float getStepInitialPz(int is)
float getSupportFractionMB() const
std::array< double, MAXNUMBERSTEPS > theInitialX
int getStepPreProcess(int is)