CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MaterialBudgetData.h
Go to the documentation of this file.
1 #ifndef MaterialBudgetData_h
2 #define MaterialBudgetData_h 1
3 
5 #include "G4ThreeVector.hh"
6 
7 // rr
8 #include <CLHEP/Vector/LorentzVector.h>
9 // rr
10 
11 class MaterialBudgetData;
12 class G4Step;
13 class G4Track;
14 
15 
16 typedef std::map< std::string, float > msf;
17 
19 public:
20 
23 
24  void dataStartTrack( const G4Track* aTrack );
25  void dataEndTrack( const G4Track* aTrack );
26  void dataPerStep( const G4Step* aStep );
27 
28  void SetAllStepsToTree();
29  public:
30  float getTotalMB() const {
31  return theTotalMB; }
32  // rr
33  float getSupportFractionMB() const {
34  return theSupportFractionMB; }
35  float getSensitiveFractionMB() const {
36  return theSensitiveFractionMB; }
37  float getCablesFractionMB() const {
38  return theCablesFractionMB; }
39  float getCoolingFractionMB() const {
40  return theCoolingFractionMB; }
41  float getElectronicsFractionMB() const {
42  return theElectronicsFractionMB; }
43  float getOtherFractionMB() const {
44  return theOtherFractionMB; }
45  float getAirFractionMB() const {
46  return theAirFractionMB; }
47  float getSupportMB() const {
48  return theSupportMB; }
49  float getSensitiveMB() const {
50  return theSensitiveMB; }
51  float getCablesMB() const {
52  return theCablesMB; }
53  float getCoolingMB() const {
54  return theCoolingMB; }
55  float getElectronicsMB() const {
56  return theElectronicsMB; }
57  float getOtherMB() const {
58  return theOtherMB; }
59  float getAirMB() const {
60  return theAirMB; }
61  float getSupportFractionIL() const {
62  return theSupportFractionIL; }
63  float getSensitiveFractionIL() const {
64  return theSensitiveFractionIL; }
65  float getCablesFractionIL() const {
66  return theCablesFractionIL; }
67  float getCoolingFractionIL() const {
68  return theCoolingFractionIL; }
69  float getElectronicsFractionIL() const {
70  return theElectronicsFractionIL; }
71  float getOtherFractionIL() const {
72  return theOtherFractionIL; }
73  float getAirFractionIL() const {
74  return theAirFractionIL; }
75  float getTotalIL() const {
76  return theTotalIL; }
77  float getSupportIL() const {
78  return theSupportIL; }
79  float getSensitiveIL() const {
80  return theSensitiveIL; }
81  float getCablesIL() const {
82  return theCablesIL; }
83  float getCoolingIL() const {
84  return theCoolingIL; }
85  float getElectronicsIL() const {
86  return theElectronicsIL; }
87  float getOtherIL() const {
88  return theOtherIL; }
89  float getAirIL() const {
90  return theAirIL; }
91  // rr
92  float getEta() const {
93  return theEta; }
94  float getPhi() const {
95  return thePhi; }
96  // rr
97  int getID() const {
98  return theID; }
99  float getPt() const {
100  return thePt; }
101  float getEnergy() const {
102  return theEnergy; }
103  float getMass() const {
104  return theMass; }
105  // rr
106 
107  int getNumberOfSteps() const {
108  return theStepN; }
109 
110  float getTrkLen() const {
111  return theTrkLen; }
112  std::string getPVname() const {
113  return thePVname; }
114  int getPVcopyNo() const {
115  return thePVcopyNo; }
116  float getRadLen() const {
117  return theRadLen; }
118  float getIntLen() const {
119  return theIntLen; }
120 
121  float getStepDmb( int is ) {
122  return theDmb[is];
123  }
124  float getSupportDmb( int is ) const {
125  return theSupportDmb[is]; }
126  float getSensitiveDmb( int is ) const {
127  return theSensitiveDmb[is]; }
128  float getCablesDmb( int is ) const {
129  return theCablesDmb[is]; }
130  float getCoolingDmb( int is ) const {
131  return theCoolingDmb[is]; }
132  float getElectronicsDmb( int is ) const {
133  return theElectronicsDmb[is]; }
134  float getOtherDmb( int is ) const {
135  return theOtherDmb[is]; }
136  float getAirDmb( int is ) const {
137  return theAirDmb[is]; }
138 
139  float getStepDil( int is ) {
140  return theDil[is];
141  }
142  float getSupportDil( int is ) const {
143  return theSupportDil[is]; }
144  float getSensitiveDil( int is ) const {
145  return theSensitiveDil[is]; }
146  float getCablesDil( int is ) const {
147  return theCablesDil[is]; }
148  float getCoolingDil( int is ) const {
149  return theCoolingDil[is]; }
150  float getElectronicsDil( int is ) const {
151  return theElectronicsDil[is]; }
152  float getOtherDil( int is ) const {
153  return theOtherDil[is]; }
154  float getAirDil( int is ) const {
155  return theAirDil[is]; }
156 
157  double getStepInitialX( int is ) {
158  return theInitialX[is];
159  }
160  double getStepInitialY( int is ) {
161  return theInitialY[is];
162  }
163  double getStepInitialZ( int is ) {
164  return theInitialZ[is];
165  }
166  double getStepFinalX( int is ) {
167  return theFinalX[is];
168  }
169  double getStepFinalY( int is ) {
170  return theFinalY[is];
171  }
172  double getStepFinalZ( int is ) {
173  return theFinalZ[is];
174  }
175  int getStepID( int is) {
176  return theStepID[is];
177  }
178  float getStepInitialPt( int is) {
179  return theStepInitialPt[is];
180  }
181  float getStepInitialEta( int is) {
182  return theStepInitialEta[is];
183  }
184  float getStepInitialPhi( int is) {
185  return theStepInitialPhi[is];
186  }
187  float getStepInitialEnergy( int is) {
188  return theStepInitialEnergy[is];
189  }
190  float getStepInitialPx( int is) {
191  return theStepInitialPx[is];
192  }
193  float getStepInitialPy( int is) {
194  return theStepInitialPy[is];
195  }
196  float getStepInitialPz( int is) {
197  return theStepInitialPz[is];
198  }
199  float getStepInitialBeta( int is) {
200  return theStepInitialBeta[is];
201  }
202  float getStepInitialGamma( int is) {
203  return theStepInitialGamma[is];
204  }
205  float getStepInitialMass( int is) {
206  return theStepInitialMass[is];
207  }
208  float getStepFinalPt( int is) {
209  return theStepFinalPt[is];
210  }
211  float getStepFinalEta( int is) {
212  return theStepFinalEta[is];
213  }
214  float getStepFinalPhi( int is) {
215  return theStepFinalPhi[is];
216  }
217  float getStepFinalEnergy( int is) {
218  return theStepFinalEnergy[is];
219  }
220  float getStepFinalPx( int is) {
221  return theStepFinalPx[is];
222  }
223  float getStepFinalPy( int is) {
224  return theStepFinalPy[is];
225  }
226  float getStepFinalPz( int is) {
227  return theStepFinalPz[is];
228  }
229  float getStepFinalBeta( int is) {
230  return theStepFinalBeta[is];
231  }
232  float getStepFinalGamma( int is) {
233  return theStepFinalGamma[is];
234  }
235  float getStepFinalMass( int is) {
236  return theStepFinalMass[is];
237  }
238  int getStepPreProcess( int is) {
239  return theStepPreProcess[is];
240  }
241  int getStepPostProcess( int is) {
242  return theStepPostProcess[is];
243  }
244  // rr
245  int getStepVolumeID( int is ) {
246  return theVolumeID[is];
247  }
248  std::string getStepVolumeName( int is ) {
249  return theVolumeName[is];
250  }
251  int getStepVolumeCopy( int is ) {
252  return theVolumeCopy[is];
253  }
254  float getStepVolumeX( int is ) {
255  return theVolumeX[is];
256  }
257  float getStepVolumeY( int is ) {
258  return theVolumeY[is];
259  }
260  float getStepVolumeZ( int is ) {
261  return theVolumeZ[is];
262  }
263  CLHEP::HepLorentzVector getStepVolumeXaxis( int is ) {
264  return CLHEP::HepLorentzVector(theVolumeXaxis1[is],theVolumeXaxis2[is],theVolumeXaxis3[is]);
265  }
266  CLHEP::HepLorentzVector getStepVolumeYaxis( int is ) {
267  return CLHEP::HepLorentzVector(theVolumeYaxis1[is],theVolumeYaxis2[is],theVolumeYaxis3[is]);
268  }
269  CLHEP::HepLorentzVector getStepVolumeZaxis( int is ) {
270  return CLHEP::HepLorentzVector(theVolumeZaxis1[is],theVolumeZaxis2[is],theVolumeZaxis3[is]);
271  }
272  int getStepMaterialID( int is ) {
273  return theMaterialID[is];
274  }
275  std::string getStepMaterialName( int is ) {
276  return theMaterialName[is];
277  }
278  float getStepMaterialX0( int is ) {
279  return theMaterialX0[is];
280  }
281  float getStepMaterialLambda0( int is ) {
282  return theMaterialLambda0[is];
283  }
284  float getStepMaterialDensity( int is ) {
285  return theMaterialDensity[is];
286  }
287  // rr
288 
289  bool allStepsON() {
290  return allStepsToTree;
291  }
292 
293  private:
295  // rr
296  float thePt;
297  int theID;
298  float theEnergy;
299  float theMass;
305  float theTotalIL;
307  // rr
308  int theStepN;
311  float *theDmb;
313  float *theDil;
315  // int *theVoluId;
316  // int *theMateId;
317  // rr
319  std::string* theVolumeName;
321  float* theVolumeX;
322  float* theVolumeY;
323  float* theVolumeZ;
334  std::string* theMaterialName;
338  int* theStepID;
361  // rr
362  float theTrkLen;
363  std::string thePVname;
365 
367 
368  float theRadLen;
369  float theIntLen;
370  int stepN;
373 
375 };
376 
377 #endif
float getTotalMB() const
float getPt() const
CLHEP::HepLorentzVector getStepVolumeYaxis(int is)
float getStepInitialEnergy(int is)
float getAirDmb(int is) const
float getStepMaterialLambda0(int is)
double getStepFinalX(int is)
float getStepFinalEnergy(int is)
float getOtherDil(int is) const
float getSupportDil(int is) const
float getStepInitialGamma(int is)
float getSensitiveFractionMB() const
float getSupportFractionIL() const
int getStepVolumeCopy(int is)
float getSensitiveDmb(int is) const
float getStepVolumeZ(int is)
float getSensitiveMB() const
float getStepInitialPhi(int is)
float getStepFinalPhi(int is)
float getElectronicsFractionIL() const
float getStepMaterialX0(int is)
float getCoolingIL() const
float getAirMB() const
float getElectronicsDil(int is) const
std::string getPVname() const
float getStepInitialBeta(int is)
std::string * theMaterialName
float getStepInitialMass(int is)
float getOtherIL() const
float getElectronicsFractionMB() const
double getStepInitialZ(int is)
float getStepInitialPy(int is)
float getStepInitialPt(int is)
float getEta() const
float getStepFinalMass(int is)
float getAirFractionMB() const
float getStepFinalPt(int is)
double getStepFinalY(int is)
void dataEndTrack(const G4Track *aTrack)
float getSupportMB() const
int getStepMaterialID(int is)
void dataPerStep(const G4Step *aStep)
float getCoolingDmb(int is) const
std::string getStepMaterialName(int is)
float getCoolingDil(int is) const
float getOtherMB() const
float getStepFinalPy(int is)
float getSupportDmb(int is) const
float getStepDmb(int is)
std::string getStepVolumeName(int is)
MaterialBudgetCategorizer * myMaterialBudgetCategorizer
double getStepFinalZ(int is)
float getStepVolumeY(int is)
float getEnergy() const
float getCablesIL() const
float getIntLen() const
float getPhi() const
float getStepFinalEta(int is)
float getCoolingMB() const
float getCablesFractionMB() const
float getElectronicsMB() const
double getStepInitialY(int is)
float getCoolingFractionIL() const
double getStepInitialX(int is)
float getMass() const
float getOtherFractionIL() const
float getSensitiveFractionIL() const
int getNumberOfSteps() const
float getStepFinalGamma(int is)
void dataStartTrack(const G4Track *aTrack)
std::map< std::string, float > msf
float getSensitiveDil(int is) const
CLHEP::HepLorentzVector getStepVolumeXaxis(int is)
float getAirIL() const
float getStepFinalPx(int is)
float getAirDil(int is) const
std::string * theVolumeName
float getSensitiveIL() const
float getCablesDil(int is) const
float getCablesFractionIL() const
float getRadLen() const
float getTrkLen() const
float getStepMaterialDensity(int is)
float getOtherFractionMB() const
float getCoolingFractionMB() const
float getStepVolumeX(int is)
float getSupportIL() const
float getAirFractionIL() const
int getStepPostProcess(int is)
float getStepFinalBeta(int is)
float getCablesDmb(int is) const
float getStepFinalPz(int is)
float getOtherDmb(int is) const
float getStepDil(int is)
float getTotalIL() const
float getStepInitialPx(int is)
float getElectronicsIL() const
float getStepInitialEta(int is)
float getElectronicsDmb(int is) const
CLHEP::HepLorentzVector getStepVolumeZaxis(int is)
float getCablesMB() const
float getStepInitialPz(int is)
float getSupportFractionMB() const
int getStepPreProcess(int is)