CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Static Private Attributes
MaterialBudgetData Class Reference

#include <MaterialBudgetData.h>

Public Member Functions

bool allStepsON ()
 
void dataEndTrack (const G4Track *aTrack)
 
void dataPerStep (const G4Step *aStep)
 
void dataStartTrack (const G4Track *aTrack)
 
float getAirDil (int is) const
 
float getAirDmb (int is) const
 
float getAirFractionIL () const
 
float getAirFractionMB () const
 
float getAirIL () const
 
float getAirMB () const
 
float getCablesDil (int is) const
 
float getCablesDmb (int is) const
 
float getCablesFractionIL () const
 
float getCablesFractionMB () const
 
float getCablesIL () const
 
float getCablesMB () const
 
float getCoolingDil (int is) const
 
float getCoolingDmb (int is) const
 
float getCoolingFractionIL () const
 
float getCoolingFractionMB () const
 
float getCoolingIL () const
 
float getCoolingMB () const
 
float getCopperDil (int is) const
 
float getCopperDmb (int is) const
 
float getCopperFractionIL () const
 
float getCopperFractionMB () const
 
float getCopperIL () const
 
float getCopperMB () const
 
float getElectronicsDil (int is) const
 
float getElectronicsDmb (int is) const
 
float getElectronicsFractionIL () const
 
float getElectronicsFractionMB () const
 
float getElectronicsIL () const
 
float getElectronicsMB () const
 
float getEnergy () const
 
float getEta () const
 
float getH_ScintillatorDil (int is) const
 
float getH_ScintillatorDmb (int is) const
 
float getH_ScintillatorFractionIL () const
 
float getH_ScintillatorFractionMB () const
 
float getH_ScintillatorIL () const
 
float getH_ScintillatorMB () const
 
bool getHGCalmode (void)
 
int getID () const
 
float getIntLen () const
 
float getLeadDil (int is) const
 
float getLeadDmb (int is) const
 
float getLeadFractionIL () const
 
float getLeadFractionMB () const
 
float getLeadIL () const
 
float getLeadMB () const
 
float getM_NEMA_FR4_plateDil (int is) const
 
float getM_NEMA_FR4_plateDmb (int is) const
 
float getM_NEMA_FR4_plateFractionIL () const
 
float getM_NEMA_FR4_plateFractionMB () const
 
float getM_NEMA_FR4_plateIL () const
 
float getM_NEMA_FR4_plateMB () const
 
float getMass () const
 
int getNumberOfSteps () const
 
float getOtherDil (int is) const
 
float getOtherDmb (int is) const
 
float getOtherFractionIL () const
 
float getOtherFractionMB () const
 
float getOtherIL () const
 
float getOtherMB () const
 
float getPhi () const
 
float getPt () const
 
int getPVcopyNo () const
 
std::string getPVname () const
 
float getRadLen () const
 
float getSensitiveDil (int is) const
 
float getSensitiveDmb (int is) const
 
float getSensitiveFractionIL () const
 
float getSensitiveFractionMB () const
 
float getSensitiveIL () const
 
float getSensitiveMB () const
 
float getSiliconDil (int is) const
 
float getSiliconDmb (int is) const
 
float getSiliconFractionIL () const
 
float getSiliconFractionMB () const
 
float getSiliconIL () const
 
float getSiliconMB () const
 
float getStainlessSteelDil (int is) const
 
float getStainlessSteelDmb (int is) const
 
float getStainlessSteelFractionIL () const
 
float getStainlessSteelFractionMB () const
 
float getStainlessSteelIL () const
 
float getStainlessSteelMB () const
 
float getStepDil (int is)
 
float getStepDmb (int is)
 
float getStepFinalBeta (int is)
 
float getStepFinalEnergy (int is)
 
float getStepFinalEta (int is)
 
float getStepFinalGamma (int is)
 
float getStepFinalMass (int is)
 
float getStepFinalPhi (int is)
 
float getStepFinalPt (int is)
 
float getStepFinalPx (int is)
 
float getStepFinalPy (int is)
 
float getStepFinalPz (int is)
 
double getStepFinalX (int is)
 
double getStepFinalY (int is)
 
double getStepFinalZ (int is)
 
int getStepID (int is)
 
float getStepInitialBeta (int is)
 
float getStepInitialEnergy (int is)
 
float getStepInitialEta (int is)
 
float getStepInitialGamma (int is)
 
float getStepInitialMass (int is)
 
float getStepInitialPhi (int is)
 
float getStepInitialPt (int is)
 
float getStepInitialPx (int is)
 
float getStepInitialPy (int is)
 
float getStepInitialPz (int is)
 
double getStepInitialX (int is)
 
double getStepInitialY (int is)
 
double getStepInitialZ (int is)
 
float getStepMaterialDensity (int is)
 
int getStepMaterialID (int is)
 
float getStepMaterialLambda0 (int is)
 
std::string getStepMaterialName (int is)
 
float getStepMaterialX0 (int is)
 
int getStepPostProcess (int is)
 
int getStepPreProcess (int is)
 
int getStepVolumeCopy (int is)
 
int getStepVolumeID (int is)
 
std::string getStepVolumeName (int is)
 
float getStepVolumeX (int is)
 
CLHEP::HepLorentzVector getStepVolumeXaxis (int is)
 
float getStepVolumeY (int is)
 
CLHEP::HepLorentzVector getStepVolumeYaxis (int is)
 
float getStepVolumeZ (int is)
 
CLHEP::HepLorentzVector getStepVolumeZaxis (int is)
 
float getSupportDil (int is) const
 
float getSupportDmb (int is) const
 
float getSupportFractionIL () const
 
float getSupportFractionMB () const
 
float getSupportIL () const
 
float getSupportMB () const
 
float getTotalIL () const
 
float getTotalMB () const
 
float getTrkLen () const
 
float getWCuDil (int is) const
 
float getWCuDmb (int is) const
 
float getWCuFractionIL () const
 
float getWCuFractionMB () const
 
float getWCuIL () const
 
float getWCuMB () const
 
 MaterialBudgetData ()
 
void SetAllStepsToTree ()
 
void setHGCalmode (bool t)
 
 ~MaterialBudgetData ()
 

Private Attributes

bool allStepsToTree
 
double densityConvertionFactor
 
bool isHGCal
 
std::unique_ptr< MaterialBudgetCategorizermyMaterialBudgetCategorizer
 
int stepN
 
std::array< float, MAXNUMBERSTEPStheAirDil
 
std::array< float, MAXNUMBERSTEPStheAirDmb
 
float theAirFractionIL
 
float theAirFractionMB
 
float theAirIL
 
float theAirMB
 
std::array< float, MAXNUMBERSTEPStheCablesDil
 
std::array< float, MAXNUMBERSTEPStheCablesDmb
 
float theCablesFractionIL
 
float theCablesFractionMB
 
float theCablesIL
 
float theCablesMB
 
std::array< float, MAXNUMBERSTEPStheCoolingDil
 
std::array< float, MAXNUMBERSTEPStheCoolingDmb
 
float theCoolingFractionIL
 
float theCoolingFractionMB
 
float theCoolingIL
 
float theCoolingMB
 
std::array< float, MAXNUMBERSTEPStheCopperDil
 
std::array< float, MAXNUMBERSTEPStheCopperDmb
 
float theCopperFractionIL
 
float theCopperFractionMB
 
float theCopperIL
 
float theCopperMB
 
std::array< float, MAXNUMBERSTEPStheDil
 
std::array< float, MAXNUMBERSTEPStheDmb
 
std::array< float, MAXNUMBERSTEPStheElectronicsDil
 
std::array< float, MAXNUMBERSTEPStheElectronicsDmb
 
float theElectronicsFractionIL
 
float theElectronicsFractionMB
 
float theElectronicsIL
 
float theElectronicsMB
 
float theEnergy
 
float theEta
 
std::array< double, MAXNUMBERSTEPStheFinalX
 
std::array< double, MAXNUMBERSTEPStheFinalY
 
std::array< double, MAXNUMBERSTEPStheFinalZ
 
std::array< float, MAXNUMBERSTEPStheH_ScintillatorDil
 
std::array< float, MAXNUMBERSTEPStheH_ScintillatorDmb
 
float theH_ScintillatorFractionIL
 
float theH_ScintillatorFractionMB
 
float theH_ScintillatorIL
 
float theH_ScintillatorMB
 
int theID
 
std::array< double, MAXNUMBERSTEPStheInitialX
 
std::array< double, MAXNUMBERSTEPStheInitialY
 
std::array< double, MAXNUMBERSTEPStheInitialZ
 
float theIntLen
 
std::array< float, MAXNUMBERSTEPStheLeadDil
 
std::array< float, MAXNUMBERSTEPStheLeadDmb
 
float theLeadFractionIL
 
float theLeadFractionMB
 
float theLeadIL
 
float theLeadMB
 
std::array< float, MAXNUMBERSTEPStheM_NEMA_FR4_plateDil
 
std::array< float, MAXNUMBERSTEPStheM_NEMA_FR4_plateDmb
 
float theM_NEMA_FR4_plateFractionIL
 
float theM_NEMA_FR4_plateFractionMB
 
float theM_NEMA_FR4_plateIL
 
float theM_NEMA_FR4_plateMB
 
float theMass
 
std::array< float, MAXNUMBERSTEPStheMaterialDensity
 
std::array< int, MAXNUMBERSTEPStheMaterialID
 
std::array< float, MAXNUMBERSTEPStheMaterialLambda0
 
std::array< std::string, MAXNUMBERSTEPStheMaterialName
 
std::array< float, MAXNUMBERSTEPStheMaterialX0
 
std::array< float, MAXNUMBERSTEPStheOtherDil
 
std::array< float, MAXNUMBERSTEPStheOtherDmb
 
float theOtherFractionIL
 
float theOtherFractionMB
 
float theOtherIL
 
float theOtherMB
 
float thePhi
 
float thePt
 
int thePVcopyNo
 
std::string thePVname
 
float theRadLen
 
std::array< float, MAXNUMBERSTEPStheSensitiveDil
 
std::array< float, MAXNUMBERSTEPStheSensitiveDmb
 
float theSensitiveFractionIL
 
float theSensitiveFractionMB
 
float theSensitiveIL
 
float theSensitiveMB
 
std::array< float, MAXNUMBERSTEPStheSiliconDil
 
std::array< float, MAXNUMBERSTEPStheSiliconDmb
 
float theSiliconFractionIL
 
float theSiliconFractionMB
 
float theSiliconIL
 
float theSiliconMB
 
std::array< float, MAXNUMBERSTEPStheStainlessSteelDil
 
std::array< float, MAXNUMBERSTEPStheStainlessSteelDmb
 
float theStainlessSteelFractionIL
 
float theStainlessSteelFractionMB
 
float theStainlessSteelIL
 
float theStainlessSteelMB
 
std::array< float, MAXNUMBERSTEPStheStepFinalBeta
 
std::array< float, MAXNUMBERSTEPStheStepFinalEnergy
 
std::array< float, MAXNUMBERSTEPStheStepFinalEta
 
std::array< float, MAXNUMBERSTEPStheStepFinalGamma
 
std::array< float, MAXNUMBERSTEPStheStepFinalMass
 
std::array< float, MAXNUMBERSTEPStheStepFinalPhi
 
std::array< float, MAXNUMBERSTEPStheStepFinalPt
 
std::array< float, MAXNUMBERSTEPStheStepFinalPx
 
std::array< float, MAXNUMBERSTEPStheStepFinalPy
 
std::array< float, MAXNUMBERSTEPStheStepFinalPz
 
std::array< int, MAXNUMBERSTEPStheStepID
 
std::array< float, MAXNUMBERSTEPStheStepInitialBeta
 
std::array< float, MAXNUMBERSTEPStheStepInitialEnergy
 
std::array< float, MAXNUMBERSTEPStheStepInitialEta
 
std::array< float, MAXNUMBERSTEPStheStepInitialGamma
 
std::array< float, MAXNUMBERSTEPStheStepInitialMass
 
std::array< float, MAXNUMBERSTEPStheStepInitialPhi
 
std::array< float, MAXNUMBERSTEPStheStepInitialPt
 
std::array< float, MAXNUMBERSTEPStheStepInitialPx
 
std::array< float, MAXNUMBERSTEPStheStepInitialPy
 
std::array< float, MAXNUMBERSTEPStheStepInitialPz
 
int theStepN
 
std::array< int, MAXNUMBERSTEPStheStepPostProcess
 
std::array< int, MAXNUMBERSTEPStheStepPreProcess
 
std::array< float, MAXNUMBERSTEPStheSupportDil
 
std::array< float, MAXNUMBERSTEPStheSupportDmb
 
float theSupportFractionIL
 
float theSupportFractionMB
 
float theSupportIL
 
float theSupportMB
 
float theTotalIL
 
float theTotalMB
 
float theTrkLen
 
std::array< int, MAXNUMBERSTEPStheVolumeCopy
 
std::array< int, MAXNUMBERSTEPStheVolumeID
 
std::array< std::string, MAXNUMBERSTEPStheVolumeName
 
std::array< float, MAXNUMBERSTEPStheVolumeX
 
std::array< float, MAXNUMBERSTEPStheVolumeXaxis1
 
std::array< float, MAXNUMBERSTEPStheVolumeXaxis2
 
std::array< float, MAXNUMBERSTEPStheVolumeXaxis3
 
std::array< float, MAXNUMBERSTEPStheVolumeY
 
std::array< float, MAXNUMBERSTEPStheVolumeYaxis1
 
std::array< float, MAXNUMBERSTEPStheVolumeYaxis2
 
std::array< float, MAXNUMBERSTEPStheVolumeYaxis3
 
std::array< float, MAXNUMBERSTEPStheVolumeZ
 
std::array< float, MAXNUMBERSTEPStheVolumeZaxis1
 
std::array< float, MAXNUMBERSTEPStheVolumeZaxis2
 
std::array< float, MAXNUMBERSTEPStheVolumeZaxis3
 
std::array< float, MAXNUMBERSTEPStheWCuDil
 
std::array< float, MAXNUMBERSTEPStheWCuDmb
 
float theWCuFractionIL
 
float theWCuFractionMB
 
float theWCuIL
 
float theWCuMB
 

Static Private Attributes

static int MAXNUMBERSTEPS = 10000
 

Detailed Description

Definition at line 23 of file MaterialBudgetData.h.

Constructor & Destructor Documentation

MaterialBudgetData::MaterialBudgetData ( )

Definition at line 8 of file MaterialBudgetData.cc.

References allStepsToTree, densityConvertionFactor, isHGCal, and myMaterialBudgetCategorizer.

9 {
10  //instantiate categorizer to assign an ID to volumes and materials
12  allStepsToTree = false;
13  isHGCal = false;
14  densityConvertionFactor = 6.24E18;
15 }
std::unique_ptr< MaterialBudgetCategorizer > myMaterialBudgetCategorizer
MaterialBudgetData::~MaterialBudgetData ( )

Definition at line 17 of file MaterialBudgetData.cc.

17  {
18 
19 }

Member Function Documentation

bool MaterialBudgetData::allStepsON ( )
inline

Definition at line 383 of file MaterialBudgetData.h.

References allStepsToTree.

383  {
384  return allStepsToTree;
385  }
void MaterialBudgetData::dataEndTrack ( const G4Track *  aTrack)

Definition at line 129 of file MaterialBudgetData.cc.

References isHGCal, LogDebug, theAirIL, theAirMB, theCablesIL, theCablesMB, theCoolingIL, theCoolingMB, theCopperIL, theCopperMB, theElectronicsIL, theElectronicsMB, theEta, theH_ScintillatorIL, theH_ScintillatorMB, theLeadIL, theLeadMB, theM_NEMA_FR4_plateIL, theM_NEMA_FR4_plateMB, theOtherIL, theOtherMB, thePhi, theSensitiveIL, theSensitiveMB, theSiliconIL, theSiliconMB, theStainlessSteelIL, theStainlessSteelMB, theStepN, theSupportIL, theSupportMB, theTotalIL, theTotalMB, theWCuIL, and theWCuMB.

130 {
131  LogDebug("MaterialBudget") << "MaterialBudgetData: [OVAL] MaterialBudget "
132  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID()
133  << " Eta:" << theEta << " Phi:" << thePhi << " TotalMB" << theTotalMB;
134 
135  LogDebug("MaterialBudget") << "MaterialBudgetData:" << theStepN << "Recorded steps ";
136 
137  if (!isHGCal){
138 
139  LogDebug("Material Budget") <<"MaterialBudgetData: Radiation Length "
140  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID()
141  << " Eta" << theEta << " Phi" << thePhi
142  << " TotalMB" << theTotalMB
143  << " SUP " << theSupportMB << " SEN " << theSensitiveMB
144  << " CAB " << theCablesMB << " COL " << theCoolingMB
145  << " ELE " << theElectronicsMB << " other " << theOtherMB
146  << " Air " << theAirMB;
147 
148  LogDebug("Material Budget") << "MaterialBudgetData: Interaction Length "
149  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID()
150  << " Eta " << theEta << " Phi " << thePhi
151  << " TotalIL " << theTotalIL
152  << " SUP " << theSupportIL << " SEN " << theSensitiveIL
153  << " CAB " << theCablesIL << " COL " << theCoolingIL
154  << " ELE " << theElectronicsIL << " other " << theOtherIL
155  << " Air " << theAirIL << std::endl;
156 
157  } else {
158 
159  LogDebug("MaterialBudget") << "MaterialBudgetData: HGCal Material Budget: Radiation Length "
160  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID()
161  << " Eta " << theEta << " Phi " << thePhi
162  << " TotaLMB" << theTotalMB
163  << " theCopperMB " << theCopperMB << " theH_ScintillatorMB " << theH_ScintillatorMB
164  << " CAB " << theCablesMB << " theLeadMB " << theLeadMB << " theM_NEMA_FR4_plateMB "
165  << theM_NEMA_FR4_plateMB << " theSiliconMB " << theSiliconMB
166  << " theAirMB " << theAirMB << " theStainlessSteelMB " << theStainlessSteelMB
167  << " theWCuMB " << theWCuMB;
168 
169  LogDebug("MaterialBudget") << "MaterialBudgetData: HGCal Material Budget: Interaction Length "
170  << G4EventManager::GetEventManager()->GetConstCurrentEvent()->GetEventID()
171  << " Eta " << theEta << " Phi " << thePhi
172  << " TotalIL " << theTotalIL << " theCopperIL " << theCopperIL
173  << " theH_ScintillatorIL " << theH_ScintillatorIL
174  << " CAB " << theCablesIL << " theLeadIL " << theLeadIL
175  << " theM_NEMA_FR4_plateIL " << theM_NEMA_FR4_plateIL
176  << " theSiliconIL " << theSiliconIL << " Air "
177  << theAirIL << " theStainlessSteelIL " << theStainlessSteelIL
178  << " theWCuIL " << theWCuIL << std::endl;
179  }
180 }
#define LogDebug(id)
void MaterialBudgetData::dataPerStep ( const G4Step *  aStep)

Definition at line 182 of file MaterialBudgetData.cc.

References allStepsToTree, densityConvertionFactor, isHGCal, LogDebug, MAXNUMBERSTEPS, myMaterialBudgetCategorizer, MetAnalyzer::pv(), mathSSE::sqrt(), lumiQTWidget::t, theAirDil, theAirDmb, theAirFractionIL, theAirFractionMB, theAirIL, theAirMB, theCablesDil, theCablesDmb, theCablesFractionIL, theCablesFractionMB, theCablesIL, theCablesMB, theCoolingDil, theCoolingDmb, theCoolingFractionIL, theCoolingFractionMB, theCoolingIL, theCoolingMB, theCopperDil, theCopperDmb, theCopperFractionIL, theCopperFractionMB, theCopperIL, theCopperMB, theDil, theDmb, theElectronicsDil, theElectronicsDmb, theElectronicsFractionIL, theElectronicsFractionMB, theElectronicsIL, theElectronicsMB, theEnergy, theEta, theFinalX, theFinalY, theFinalZ, theH_ScintillatorDil, theH_ScintillatorDmb, theH_ScintillatorFractionIL, theH_ScintillatorFractionMB, theH_ScintillatorIL, theH_ScintillatorMB, theID, theInitialX, theInitialY, theInitialZ, theIntLen, theLeadDil, theLeadDmb, theLeadFractionIL, theLeadFractionMB, theLeadIL, theLeadMB, theM_NEMA_FR4_plateDil, theM_NEMA_FR4_plateDmb, theM_NEMA_FR4_plateFractionIL, theM_NEMA_FR4_plateFractionMB, theM_NEMA_FR4_plateIL, theM_NEMA_FR4_plateMB, theMass, theMaterialDensity, theMaterialID, theMaterialLambda0, theMaterialName, theMaterialX0, theOtherDil, theOtherDmb, theOtherFractionIL, theOtherFractionMB, theOtherIL, theOtherMB, thePhi, thePt, thePVcopyNo, thePVname, theRadLen, theSensitiveDil, theSensitiveDmb, theSensitiveFractionIL, theSensitiveFractionMB, theSensitiveIL, theSensitiveMB, theSiliconDil, theSiliconDmb, theSiliconFractionIL, theSiliconFractionMB, theSiliconIL, theSiliconMB, theStainlessSteelDil, theStainlessSteelDmb, theStainlessSteelFractionIL, theStainlessSteelFractionMB, theStainlessSteelIL, theStainlessSteelMB, theStepFinalBeta, theStepFinalEnergy, theStepFinalEta, theStepFinalGamma, theStepFinalMass, theStepFinalPhi, theStepFinalPt, theStepFinalPx, theStepFinalPy, theStepFinalPz, theStepID, theStepInitialBeta, theStepInitialEnergy, theStepInitialEta, theStepInitialGamma, theStepInitialMass, theStepInitialPhi, theStepInitialPt, theStepInitialPx, theStepInitialPy, theStepInitialPz, theStepN, theStepPostProcess, theStepPreProcess, theSupportDil, theSupportDmb, theSupportFractionIL, theSupportFractionMB, theSupportIL, theSupportMB, theTotalIL, theTotalMB, theTrkLen, theVolumeCopy, theVolumeID, theVolumeName, theVolumeX, theVolumeXaxis1, theVolumeXaxis2, theVolumeXaxis3, theVolumeY, theVolumeYaxis1, theVolumeYaxis2, theVolumeYaxis3, theVolumeZ, theVolumeZaxis1, theVolumeZaxis2, theVolumeZaxis3, theWCuDil, theWCuDmb, theWCuFractionIL, theWCuFractionMB, theWCuIL, theWCuMB, and HiIsolationCommonParameters_cff::track.

183 {
184  assert(aStep);
185  G4StepPoint* prePoint = aStep->GetPreStepPoint();
186  G4StepPoint* postPoint = aStep->GetPostStepPoint();
187  assert(prePoint);
188  assert(postPoint);
189  G4Material * theMaterialPre = prePoint->GetMaterial();
190  assert(theMaterialPre);
191 
192  CLHEP::Hep3Vector prePos = prePoint->GetPosition();
193  CLHEP::Hep3Vector postPos = postPoint->GetPosition();
194 
195  G4double steplen = aStep->GetStepLength();
196 
197  G4double radlen = theMaterialPre->GetRadlen();
198  G4double intlen = theMaterialPre->GetNuclearInterLength();
199  G4double density = theMaterialPre->GetDensity() / densityConvertionFactor; // always g/cm3
200 
201  G4String materialName = theMaterialPre->GetName();
202 
203  LogDebug("MaterialBudget") << "MaterialBudgetData: Material " << materialName
204  << " steplen " << steplen
205  << " radlen " << radlen
206  << " mb " << steplen/radlen;
207 
208  G4String volumeName = aStep->GetPreStepPoint()->GetTouchable()->GetVolume(0)->GetLogicalVolume()->GetName();
209 
210  LogDebug("MaterialBudget") << "MaterialBudgetData: Volume " << volumeName
211  << " Material " << materialName;
212 
213  // instantiate the categorizer
215  int volumeID = myMaterialBudgetCategorizer->volume( volumeName );
216  int materialID = myMaterialBudgetCategorizer->material( materialName );
217 
218  LogDebug("MaterialBudget") << "MaterialBudgetData: Volume ID " << volumeID
219  << " Material ID " << materialID;
220 
221  // FIXME: Both volume ID and material ID are zeros, so this part is not executed leaving all
222  // values as zeros.
223 
224  if (!isHGCal){
225 
226  bool isCtgOk = !myMaterialBudgetCategorizer->x0fraction(materialName).empty()
227  && !myMaterialBudgetCategorizer->l0fraction(materialName).empty()
228  && (myMaterialBudgetCategorizer->x0fraction(materialName).size() == 7) /*7 Categories*/
229  && (myMaterialBudgetCategorizer->l0fraction(materialName).size() == 7);
230 
231  if(!isCtgOk)
232  {
233  if(materialName.compare("Air") == 0){
234  theAirFractionMB = 1;
235  theAirFractionIL = 1;
236  } else {
237  theOtherFractionMB = 1;
238  theOtherFractionIL = 1;
239  edm::LogWarning("MaterialBudget")
240  << "MaterialBudgetData: Material forced to 'Other': " << materialName
241  << " in volume " << volumeName << ". Check Categorization.";
242  }
243  }
244  else
245  {
246  theSupportFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[0];
247  theSensitiveFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[1];
248  theCablesFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[2];
249  theCoolingFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[3];
250  theElectronicsFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[4];
251  theOtherFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[5];
252  theAirFractionMB = myMaterialBudgetCategorizer->x0fraction(materialName)[6];
253 
254  if(theOtherFractionMB!=0)
255  edm::LogWarning("MaterialBudget") << "MaterialBudgetData: Material found with no category: " << materialName
256  << " in volume " << volumeName;
257 
258  theSupportFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[0];
259  theSensitiveFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[1];
260  theCablesFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[2];
261  theCoolingFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[3];
262  theElectronicsFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[4];
263  theOtherFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[5];
264  theAirFractionIL = myMaterialBudgetCategorizer->l0fraction(materialName)[6];
265 
266  if(theOtherFractionIL!=0)
267  edm::LogWarning("MaterialBudget") << "MaterialBudgetData: Material found with no category: " << materialName
268  << " in volume " << volumeName;
269  }
270  } else { // isHGCal
271 
272  bool isHGCalx0fractionEmpty = myMaterialBudgetCategorizer->HGCalx0fraction(materialName).empty();
273  bool isHGCall0fractionEmpty = myMaterialBudgetCategorizer->HGCall0fraction(materialName).empty();
274 
275  if( isHGCalx0fractionEmpty && isHGCall0fractionEmpty ) {
276  theOtherFractionMB = 1;
277  theOtherFractionIL = 1;
278 
279  edm::LogWarning("MaterialBudget") << "MaterialBudgetData: Material forced to 'Other': " << materialName
280  << " in volume " << volumeName;
281  } else{
282 
283  theAirFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[0];
284  theCablesFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[1];
285  theCopperFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[2];
286  theH_ScintillatorFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[3];
287  theLeadFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[4];
288  theM_NEMA_FR4_plateFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[5];
289  theSiliconFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[6];
290  theStainlessSteelFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[7];
291  theWCuFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[8];
292  theOtherFractionMB = myMaterialBudgetCategorizer->HGCalx0fraction(materialName)[9];
293 
294 
295  if(theOtherFractionMB!=0)
296  edm::LogWarning("MaterialBudget") << "MaterialBudgetData: Material found with no category: " << materialName
297  << " in volume " << volumeName << std::endl;
298 
299  theAirFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[0];
300  theCablesFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[1];
301  theCopperFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[2];
302  theH_ScintillatorFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[3];
303  theLeadFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[4];
304  theM_NEMA_FR4_plateFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[5];
305  theSiliconFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[6];
306  theStainlessSteelFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[7];
307  theWCuFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[8];
308  theOtherFractionIL = myMaterialBudgetCategorizer->HGCall0fraction(materialName)[9];
309 
310 
311  if(theOtherFractionIL!=0)
312  edm::LogWarning("MaterialBudget") << "MaterialBudgetData: Material found with no category " << materialName
313  << " in volume " << volumeName << std::endl;
314  }
315  }
316 
317  float dmb = steplen/radlen;
318  float dil = steplen/intlen;
319 
320  G4VPhysicalVolume* pv = aStep->GetPreStepPoint()->GetPhysicalVolume();
321  const G4VTouchable* t = aStep->GetPreStepPoint()->GetTouchable();
322  const G4ThreeVector& objectTranslation = t->GetTranslation();
323  const G4RotationMatrix* objectRotation = t->GetRotation();
324  const G4VProcess* interactionPre = prePoint->GetProcessDefinedStep();
325  const G4VProcess* interactionPost = postPoint->GetProcessDefinedStep();
326 
327  G4Track* track = aStep->GetTrack();
328  if(theStepN==0)
329  LogDebug("MaterialBudget") << "MaterialBudgetData: Simulated Particle " << theID
330  << "\tMass " << theMass << " MeV/c2"
331  << "\tPt = " << thePt << " MeV/c"
332  << "\tEta = " << theEta
333  << "\tPhi = " << thePhi
334  << "\tEnergy = " << theEnergy << " MeV";
335 
336  //fill data per step
337  if( allStepsToTree ){
338  assert(theStepN < MAXNUMBERSTEPS);
340  theDmb[theStepN] = dmb;
341  theDil[theStepN] = dil;
347  //HGCal
356  theWCuDmb[theStepN] = (dmb * theWCuFractionMB);
357 
363  //HGCal
372  theWCuDil[theStepN] = (dil * theWCuFractionIL);
373 
374  theInitialX[theStepN] = prePos.x();
375  theInitialY[theStepN] = prePos.y();
376  theInitialZ[theStepN] = prePos.z();
377  theFinalX[theStepN] = postPos.x();
378  theFinalY[theStepN] = postPos.y();
379  theFinalZ[theStepN] = postPos.z();
380  theVolumeID[theStepN] = volumeID;
381  theVolumeName[theStepN] = volumeName;
382  theVolumeCopy[theStepN] = pv->GetCopyNo();
383  theVolumeX[theStepN] = objectTranslation.x();
384  theVolumeY[theStepN] = objectTranslation.y();
385  theVolumeZ[theStepN] = objectTranslation.z();
386  theVolumeXaxis1[theStepN] = objectRotation->xx();
387  theVolumeXaxis2[theStepN] = objectRotation->xy();
388  theVolumeXaxis3[theStepN] = objectRotation->xz();
389  theVolumeYaxis1[theStepN] = objectRotation->yx();
390  theVolumeYaxis2[theStepN] = objectRotation->yy();
391  theVolumeYaxis3[theStepN] = objectRotation->yz();
392  theVolumeZaxis1[theStepN] = objectRotation->zx();
393  theVolumeZaxis2[theStepN] = objectRotation->zy();
394  theVolumeZaxis3[theStepN] = objectRotation->zz();
395  theMaterialID[theStepN] = materialID;
396  theMaterialName[theStepN] = materialName;
397  theMaterialX0[theStepN] = radlen;
398  theMaterialLambda0[theStepN] = intlen;
399  theMaterialDensity[theStepN] = density;
400  theStepID[theStepN] = track->GetDefinition()->GetPDGEncoding();
401  theStepInitialPt[theStepN] = prePoint->GetMomentum().perp();
402  theStepInitialEta[theStepN] = prePoint->GetMomentum().eta();
403  theStepInitialPhi[theStepN] = prePoint->GetMomentum().phi();
404  theStepInitialEnergy[theStepN] = prePoint->GetTotalEnergy();
405  theStepInitialPx[theStepN] = prePoint->GetMomentum().x();
406  theStepInitialPy[theStepN] = prePoint->GetMomentum().y();
407  theStepInitialPz[theStepN] = prePoint->GetMomentum().z();
408  theStepInitialBeta[theStepN] = prePoint->GetBeta();
409  theStepInitialGamma[theStepN] = prePoint->GetGamma();
410  theStepInitialMass[theStepN] = prePoint->GetMass();
411  theStepFinalPt[theStepN] = postPoint->GetMomentum().perp();
412  theStepFinalEta[theStepN] = postPoint->GetMomentum().eta();
413  theStepFinalPhi[theStepN] = postPoint->GetMomentum().phi();
414  theStepFinalEnergy[theStepN] = postPoint->GetTotalEnergy();
415  theStepFinalPx[theStepN] = postPoint->GetMomentum().x();
416  theStepFinalPy[theStepN] = postPoint->GetMomentum().y();
417  theStepFinalPz[theStepN] = postPoint->GetMomentum().z();
418  theStepFinalBeta[theStepN] = postPoint->GetBeta();
419  theStepFinalGamma[theStepN] = postPoint->GetGamma();
420  theStepFinalMass[theStepN] = postPoint->GetMass();
421  int preProcType = -99;
422  int postProcType = -99;
423  if (interactionPre) preProcType = interactionPre->GetProcessType();
424  theStepPreProcess[theStepN] = preProcType;
425  if (interactionPost) postProcType = interactionPost->GetProcessType();
426  theStepPostProcess[theStepN] = postProcType;
427 
428  LogDebug("MaterialBudget")
429  << "MaterialBudgetData: Step " << theStepN
430  << "\tDelta MB = " << theDmb[theStepN]
431  << std::endl
432  << " Support " << theSupportDmb[theStepN]
433  << " Sensitive " << theSensitiveDmb[theStepN]
434  << " Cables " << theCablesDmb[theStepN]
435  << " Cooling " << theCoolingDmb[theStepN]
436  << " Electronics " << theElectronicsDmb[theStepN]
437  << " Other " << theOtherDmb[theStepN]
438  << " Air " << theAirDmb[theStepN]
439  << std::endl
440  << "\tDelta IL = " << theDil[theStepN]
441  << std::endl
442  << " Support " << theSupportDil[theStepN]
443  << " Sensitive " << theSensitiveDil[theStepN]
444  << " Cables " << theCablesDil[theStepN]
445  << " Cooling " << theCoolingDil[theStepN]
446  << " Electronics " << theElectronicsDil[theStepN]
447  << " Other " << theOtherDil[theStepN]
448  << " Air " << theAirDil[theStepN];
449 
450  if (interactionPre)
451  LogDebug("MaterialBudget")
452  << "MaterialBudgetData: Process Pre " << interactionPre->GetProcessName()
453  << " type " << theStepPreProcess[theStepN]
454  << " name " << interactionPre->GetProcessTypeName(G4ProcessType(theStepPreProcess[theStepN]));
455  if (interactionPost)
456  LogDebug("MaterialBudget")
457  << "MaterialBudgetData: Process Post " << interactionPost->GetProcessName()
458  << " type " << theStepPostProcess[theStepN]
459  << " name "<< interactionPost->GetProcessTypeName(G4ProcessType(theStepPostProcess[theStepN]))
460  << " Pre x = " << theInitialX[theStepN]
461  << " y = " << theInitialY[theStepN]
462  << " z = " << theInitialZ[theStepN]
463  << " Polar Radius = " << sqrt(prePos.x()*prePos.x()+prePos.y()*prePos.y())
464  << " Pt = " << theStepInitialPt[theStepN]
465  << " Energy = " << theStepInitialEnergy[theStepN]
466  << " Final: "
467  << " Post x = " << theFinalX[theStepN]
468  << " y = " << theFinalY[theStepN]
469  << " z = " << theFinalZ[theStepN]
470  << " Polar Radius = " << sqrt(postPos.x()*postPos.x()+postPos.y()*postPos.y())
471  << " Pt = " << theStepFinalPt[theStepN]
472  << " Energy = " << theStepFinalEnergy[theStepN]
473  << std::endl
474  << " Volume " << volumeID << " name " << theVolumeName[theStepN]
475  << " copy number " << theVolumeCopy[theStepN]
476  << " material " << theMaterialID[theStepN] << " " << theMaterialName[theStepN]
477  << " Density = " << theMaterialDensity[theStepN] << " g/cm3"
478  << " X0 = " << theMaterialX0[theStepN] << " mm"
479  << " Lambda0 = " << theMaterialLambda0[theStepN] << " mm"
480  << std::endl
481  << " Particle " << theStepID[theStepN]
482  << " Initial Pt = " << theStepInitialPt[theStepN] << " MeV/c"
483  << " eta = " << theStepInitialEta[theStepN]
484  << " phi = " << theStepInitialPhi[theStepN]
485  << " Energy = " << theStepInitialEnergy[theStepN] << " MeV"
486  << " Mass = " << theStepInitialMass[theStepN] << " MeV/c2"
487  << " Beta = " << theStepInitialBeta[theStepN]
488  << " Gamma = " << theStepInitialGamma[theStepN]
489  << std::endl
490  << " Particle " << theStepID[theStepN]
491  << " Final Pt = " << theStepFinalPt[theStepN] << " MeV/c"
492  << " eta = " << theStepFinalEta[theStepN]
493  << " phi = " << theStepFinalPhi[theStepN]
494  << " Energy = " << theStepFinalEnergy[theStepN] << " MeV"
495  << " Mass = " << theStepFinalMass[theStepN] << " MeV/c2"
496  << " Beta = " << theStepFinalBeta[theStepN]
497  << " Gamma = " << theStepFinalGamma[theStepN]
498  << std::endl
499  << " Volume Centre x = " << theVolumeX[theStepN]
500  << " y = " << theVolumeY[theStepN]
501  << " z = " << theVolumeZ[theStepN]
502  << "Polar Radius = " << sqrt( theVolumeX[theStepN]*theVolumeX[theStepN] +
503  theVolumeY[theStepN]*theVolumeY[theStepN] )
504  << std::endl
505  << " x axis = ("
506  << theVolumeXaxis1[theStepN] << ","
507  << theVolumeXaxis2[theStepN] << ","
508  << theVolumeXaxis3[theStepN] << ")"
509  << std::endl
510  << " y axis = ("
511  << theVolumeYaxis1[theStepN] << ","
512  << theVolumeYaxis2[theStepN] << ","
513  << theVolumeYaxis3[theStepN] << ")"
514  << std::endl
515  << " z axis = ("
516  << theVolumeZaxis1[theStepN] << ","
517  << theVolumeZaxis2[theStepN] << ","
518  << theVolumeZaxis3[theStepN] << ")"
519  << std::endl
520  << " Secondaries"
521  << std::endl;
522 
523  for(G4TrackVector::const_iterator iSec = aStep->GetSecondary()->begin(); iSec!=aStep->GetSecondary()->end(); iSec++) {
524  LogDebug("MaterialBudget")
525  << "MaterialBudgetData: tid " << (*iSec)->GetDefinition()->GetPDGEncoding()
526  << " created through process type " << (*iSec)->GetCreatorProcess()->GetProcessType()
527  << (*iSec)->GetCreatorProcess()->GetProcessTypeName(G4ProcessType((*iSec)->GetCreatorProcess()->GetProcessType()));
528  }
529  }
530 
531  theTrkLen = aStep->GetTrack()->GetTrackLength();
532  thePVname = pv->GetName();
533  thePVcopyNo = pv->GetCopyNo();
534  theRadLen = radlen;
535  theIntLen = intlen;
536  theTotalMB += dmb;
537  theTotalIL += dil;
538 
543  theOtherMB += (dmb * theOtherFractionMB);
544 
545  //HGCal
546  theAirMB += (dmb * theAirFractionMB);
547  theCablesMB += (dmb * theCablesFractionMB);
548  theCopperMB += (dmb * theCopperFractionMB);
550  theLeadMB += (dmb * theLeadFractionMB);
554  theWCuMB += (dmb * theWCuFractionMB);
555 
560  theOtherIL += (dil * theOtherFractionIL);
561  //HGCal
562  theAirIL += (dil * theAirFractionIL);
563  theCablesIL += (dil * theCablesFractionIL);
564  theCopperIL += (dil * theCopperFractionIL);
566  theLeadIL += (dil * theLeadFractionIL);
570  theWCuIL += (dil * theWCuFractionIL);
571 
572 
573 
574  // rr
575 
576  theStepN++;
577 
578 }
#define LogDebug(id)
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
std::array< float, MAXNUMBERSTEPS > theStepInitialBeta
std::array< float, MAXNUMBERSTEPS > theSupportDmb
std::array< float, MAXNUMBERSTEPS > theStepFinalEta
std::array< float, MAXNUMBERSTEPS > theM_NEMA_FR4_plateDmb
std::array< int, MAXNUMBERSTEPS > theStepPreProcess
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDil
std::array< int, MAXNUMBERSTEPS > theStepPostProcess
std::array< float, MAXNUMBERSTEPS > theSiliconDil
std::array< float, MAXNUMBERSTEPS > theCopperDmb
std::array< double, MAXNUMBERSTEPS > theFinalX
std::array< float, MAXNUMBERSTEPS > theStepFinalBeta
std::array< float, MAXNUMBERSTEPS > theAirDmb
std::array< float, MAXNUMBERSTEPS > theStepInitialPt
std::array< float, MAXNUMBERSTEPS > theWCuDmb
std::array< float, MAXNUMBERSTEPS > theStepInitialPz
std::array< float, MAXNUMBERSTEPS > theStepInitialPx
std::array< float, MAXNUMBERSTEPS > theStepFinalPhi
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis1
std::array< float, MAXNUMBERSTEPS > theM_NEMA_FR4_plateDil
std::array< double, MAXNUMBERSTEPS > theInitialY
std::array< float, MAXNUMBERSTEPS > theStepFinalGamma
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis2
std::array< float, MAXNUMBERSTEPS > theStepFinalMass
std::unique_ptr< MaterialBudgetCategorizer > myMaterialBudgetCategorizer
std::array< float, MAXNUMBERSTEPS > theSiliconDmb
std::array< int, MAXNUMBERSTEPS > theVolumeCopy
std::array< float, MAXNUMBERSTEPS > theLeadDmb
std::array< double, MAXNUMBERSTEPS > theInitialZ
std::array< float, MAXNUMBERSTEPS > theMaterialDensity
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis1
std::array< float, MAXNUMBERSTEPS > theOtherDmb
std::array< int, MAXNUMBERSTEPS > theStepID
T sqrt(T t)
Definition: SSEVec.h:18
std::array< float, MAXNUMBERSTEPS > theSensitiveDil
std::array< double, MAXNUMBERSTEPS > theFinalY
def pv(vc)
Definition: MetAnalyzer.py:7
std::array< float, MAXNUMBERSTEPS > theStepFinalPx
std::array< float, MAXNUMBERSTEPS > theStepInitialEta
std::array< float, MAXNUMBERSTEPS > theStepInitialPhi
std::array< float, MAXNUMBERSTEPS > theCoolingDmb
std::array< float, MAXNUMBERSTEPS > theVolumeX
std::array< float, MAXNUMBERSTEPS > theLeadDil
std::array< float, MAXNUMBERSTEPS > theCablesDil
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis2
std::array< float, MAXNUMBERSTEPS > theSupportDil
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
std::array< double, MAXNUMBERSTEPS > theFinalZ
std::array< float, MAXNUMBERSTEPS > theVolumeZ
std::array< int, MAXNUMBERSTEPS > theVolumeID
std::array< float, MAXNUMBERSTEPS > theVolumeY
std::array< float, MAXNUMBERSTEPS > theDmb
std::array< std::string, MAXNUMBERSTEPS > theVolumeName
std::array< float, MAXNUMBERSTEPS > theStepFinalEnergy
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDmb
std::array< float, MAXNUMBERSTEPS > theStepInitialGamma
std::array< float, MAXNUMBERSTEPS > theSensitiveDmb
std::array< int, MAXNUMBERSTEPS > theMaterialID
std::array< float, MAXNUMBERSTEPS > theElectronicsDmb
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis3
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis2
std::array< float, MAXNUMBERSTEPS > theCoolingDil
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDil
std::array< float, MAXNUMBERSTEPS > theOtherDil
std::array< float, MAXNUMBERSTEPS > theStepInitialEnergy
std::array< float, MAXNUMBERSTEPS > theElectronicsDil
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDmb
std::array< float, MAXNUMBERSTEPS > theCablesDmb
std::array< float, MAXNUMBERSTEPS > theCopperDil
std::array< std::string, MAXNUMBERSTEPS > theMaterialName
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis3
std::array< float, MAXNUMBERSTEPS > theStepInitialPy
std::array< float, MAXNUMBERSTEPS > theStepFinalPz
std::array< double, MAXNUMBERSTEPS > theInitialX
void MaterialBudgetData::dataStartTrack ( const G4Track *  aTrack)

Definition at line 27 of file MaterialBudgetData.cc.

References dir, createfilelist::int, isHGCal, myMaterialBudgetCategorizer, theAirFractionIL, theAirFractionMB, theAirIL, theAirMB, theCablesFractionIL, theCablesFractionMB, theCablesIL, theCablesMB, theCoolingFractionIL, theCoolingFractionMB, theCoolingIL, theCoolingMB, theCopperFractionIL, theCopperFractionMB, theCopperIL, theCopperMB, theElectronicsFractionIL, theElectronicsFractionMB, theElectronicsIL, theElectronicsMB, theEnergy, theEta, theH_ScintillatorFractionIL, theH_ScintillatorFractionMB, theH_ScintillatorIL, theH_ScintillatorMB, theID, theLeadFractionIL, theLeadFractionMB, theLeadIL, theLeadMB, theM_NEMA_FR4_plateFractionIL, theM_NEMA_FR4_plateFractionMB, theM_NEMA_FR4_plateIL, theM_NEMA_FR4_plateMB, theMass, theOtherFractionIL, theOtherFractionMB, theOtherIL, theOtherMB, thePhi, thePt, theSensitiveFractionIL, theSensitiveFractionMB, theSensitiveIL, theSensitiveMB, theSiliconFractionIL, theSiliconFractionMB, theSiliconIL, theSiliconMB, theStainlessSteelFractionIL, theStainlessSteelFractionMB, theStainlessSteelIL, theStainlessSteelMB, theStepN, theSupportFractionIL, theSupportFractionMB, theSupportIL, theSupportMB, theTotalIL, theTotalMB, theWCuFractionIL, theWCuFractionMB, theWCuIL, and theWCuMB.

28 {
29 
30  const G4ThreeVector& dir = aTrack->GetMomentum() ;
31 
32  if( myMaterialBudgetCategorizer == nullptr){
33  if(isHGCal){
34  myMaterialBudgetCategorizer = std::make_unique<MaterialBudgetCategorizer>("HGCal");
35  } else {
36  myMaterialBudgetCategorizer = std::make_unique<MaterialBudgetCategorizer>("Tracker");
37  }
38  }
39 
40  theStepN=0;
41  theTotalMB=0;
42  theTotalIL=0;
43  theEta=0;
44  thePhi=0;
45  theID=0;
46  thePt=0;
47  theEnergy=0;
48  theMass=0;
49 
50  theSupportMB = 0.;
51  theSensitiveMB = 0.;
52  theCoolingMB = 0.;
53  theElectronicsMB = 0.;
54  theOtherMB = 0.;
55 
56  //HGCal
57  theAirMB = 0.;
58  theCablesMB = 0.;
59  theCopperMB = 0.;
61  theLeadMB = 0.;
63  theSiliconMB = 0.;
65  theWCuMB = 0.;
66 
67  theSupportIL = 0.;
68  theSensitiveIL = 0.;
69  theCoolingIL = 0.;
70  theElectronicsIL = 0.;
71  theOtherIL = 0.;
72 
73  //HGCal
74  theAirIL = 0.;
75  theCablesIL = 0.;
76  theCopperIL = 0.;
78  theLeadIL = 0.;
80  theSiliconIL = 0.;
82  theWCuIL = 0.;
83 
88  theOtherFractionMB = 0.;
89  //HGCal
90  theAirFractionMB = 0.;
91  theCablesFractionMB = 0.;
92  theCopperFractionMB = 0.;
94  theLeadFractionMB = 0.;
98  theWCuFractionMB = 0.;
99 
104  theOtherFractionIL = 0.;
105  //HGCal
106  theAirFractionIL = 0.;
107  theCablesFractionIL = 0.;
108  theCopperFractionIL = 0.;
110  theLeadFractionIL = 0.;
112  theSiliconFractionIL = 0.;
114  theWCuFractionIL = 0.;
115 
116  theID = (int)(aTrack->GetDefinition()->GetPDGEncoding());
117  thePt = dir.perp();
118  if( dir.theta() != 0 ) {
119  theEta = dir.eta();
120  } else {
121  theEta = -99;
122  }
123  thePhi = dir.phi();
124  theEnergy = aTrack->GetTotalEnergy();
125  theMass = aTrack->GetDefinition()->GetPDGMass();
126 }
std::unique_ptr< MaterialBudgetCategorizer > myMaterialBudgetCategorizer
dbl *** dir
Definition: mlp_gen.cc:35
float MaterialBudgetData::getAirDil ( int  is) const
inline

Definition at line 235 of file MaterialBudgetData.h.

References theAirDil.

235  {
236  return theAirDil[is]; }
std::array< float, MAXNUMBERSTEPS > theAirDil
float MaterialBudgetData::getAirDmb ( int  is) const
inline

Definition at line 202 of file MaterialBudgetData.h.

References theAirDmb.

202  {
203  return theAirDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theAirDmb
float MaterialBudgetData::getAirFractionIL ( ) const
inline

Definition at line 110 of file MaterialBudgetData.h.

References theAirFractionIL.

110  {
111  return theAirFractionIL; }
float MaterialBudgetData::getAirFractionMB ( ) const
inline

Definition at line 50 of file MaterialBudgetData.h.

References theAirFractionMB.

50  {
51  return theAirFractionMB; }
float MaterialBudgetData::getAirIL ( ) const
inline

Definition at line 140 of file MaterialBudgetData.h.

References theAirIL.

140  {
141  return theAirIL; }
float MaterialBudgetData::getAirMB ( ) const
inline

Definition at line 80 of file MaterialBudgetData.h.

References theAirMB.

80  {
81  return theAirMB; }
float MaterialBudgetData::getCablesDil ( int  is) const
inline

Definition at line 227 of file MaterialBudgetData.h.

References theCablesDil.

227  {
228  return theCablesDil[is]; }
std::array< float, MAXNUMBERSTEPS > theCablesDil
float MaterialBudgetData::getCablesDmb ( int  is) const
inline

Definition at line 194 of file MaterialBudgetData.h.

References theCablesDmb.

194  {
195  return theCablesDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theCablesDmb
float MaterialBudgetData::getCablesFractionIL ( ) const
inline

Definition at line 102 of file MaterialBudgetData.h.

References theCablesFractionIL.

102  {
103  return theCablesFractionIL; }
float MaterialBudgetData::getCablesFractionMB ( ) const
inline

Definition at line 42 of file MaterialBudgetData.h.

References theCablesFractionMB.

42  {
43  return theCablesFractionMB; }
float MaterialBudgetData::getCablesIL ( ) const
inline

Definition at line 132 of file MaterialBudgetData.h.

References theCablesIL.

132  {
133  return theCablesIL; }
float MaterialBudgetData::getCablesMB ( ) const
inline

Definition at line 72 of file MaterialBudgetData.h.

References theCablesMB.

72  {
73  return theCablesMB; }
float MaterialBudgetData::getCoolingDil ( int  is) const
inline

Definition at line 229 of file MaterialBudgetData.h.

References theCoolingDil.

229  {
230  return theCoolingDil[is]; }
std::array< float, MAXNUMBERSTEPS > theCoolingDil
float MaterialBudgetData::getCoolingDmb ( int  is) const
inline

Definition at line 196 of file MaterialBudgetData.h.

References theCoolingDmb.

196  {
197  return theCoolingDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theCoolingDmb
float MaterialBudgetData::getCoolingFractionIL ( ) const
inline

Definition at line 104 of file MaterialBudgetData.h.

References theCoolingFractionIL.

104  {
105  return theCoolingFractionIL; }
float MaterialBudgetData::getCoolingFractionMB ( ) const
inline

Definition at line 44 of file MaterialBudgetData.h.

References theCoolingFractionMB.

44  {
45  return theCoolingFractionMB; }
float MaterialBudgetData::getCoolingIL ( ) const
inline

Definition at line 134 of file MaterialBudgetData.h.

References theCoolingIL.

134  {
135  return theCoolingIL; }
float MaterialBudgetData::getCoolingMB ( ) const
inline

Definition at line 74 of file MaterialBudgetData.h.

References theCoolingMB.

74  {
75  return theCoolingMB; }
float MaterialBudgetData::getCopperDil ( int  is) const
inline

Definition at line 237 of file MaterialBudgetData.h.

References theCopperDil.

237  {
238  return theCopperDil[is]; }
std::array< float, MAXNUMBERSTEPS > theCopperDil
float MaterialBudgetData::getCopperDmb ( int  is) const
inline

Definition at line 204 of file MaterialBudgetData.h.

References theCopperDmb.

204  {
205  return theCopperDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theCopperDmb
float MaterialBudgetData::getCopperFractionIL ( ) const
inline

Definition at line 112 of file MaterialBudgetData.h.

References theCopperFractionIL.

112  {
113  return theCopperFractionIL; }
float MaterialBudgetData::getCopperFractionMB ( ) const
inline

Definition at line 53 of file MaterialBudgetData.h.

References theCopperFractionMB.

53  {
54  return theCopperFractionMB; }
float MaterialBudgetData::getCopperIL ( ) const
inline

Definition at line 142 of file MaterialBudgetData.h.

References theCopperIL.

142  {
143  return theCopperIL; }
float MaterialBudgetData::getCopperMB ( ) const
inline

Definition at line 83 of file MaterialBudgetData.h.

References theCopperMB.

83  {
84  return theCopperMB; }
float MaterialBudgetData::getElectronicsDil ( int  is) const
inline

Definition at line 231 of file MaterialBudgetData.h.

References theElectronicsDil.

231  {
232  return theElectronicsDil[is]; }
std::array< float, MAXNUMBERSTEPS > theElectronicsDil
float MaterialBudgetData::getElectronicsDmb ( int  is) const
inline

Definition at line 198 of file MaterialBudgetData.h.

References theElectronicsDmb.

198  {
199  return theElectronicsDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theElectronicsDmb
float MaterialBudgetData::getElectronicsFractionIL ( ) const
inline

Definition at line 106 of file MaterialBudgetData.h.

References theElectronicsFractionIL.

106  {
107  return theElectronicsFractionIL; }
float MaterialBudgetData::getElectronicsFractionMB ( ) const
inline

Definition at line 46 of file MaterialBudgetData.h.

References theElectronicsFractionMB.

46  {
47  return theElectronicsFractionMB; }
float MaterialBudgetData::getElectronicsIL ( ) const
inline

Definition at line 136 of file MaterialBudgetData.h.

References theElectronicsIL.

136  {
137  return theElectronicsIL; }
float MaterialBudgetData::getElectronicsMB ( ) const
inline

Definition at line 76 of file MaterialBudgetData.h.

References theElectronicsMB.

76  {
77  return theElectronicsMB; }
float MaterialBudgetData::getEnergy ( ) const
inline

Definition at line 167 of file MaterialBudgetData.h.

References theEnergy.

167  {
168  return theEnergy; }
float MaterialBudgetData::getEta ( ) const
inline

Definition at line 158 of file MaterialBudgetData.h.

References theEta.

158  {
159  return theEta; }
float MaterialBudgetData::getH_ScintillatorDil ( int  is) const
inline

Definition at line 239 of file MaterialBudgetData.h.

References theH_ScintillatorDil.

239  {
240  return theH_ScintillatorDil[is]; }
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDil
float MaterialBudgetData::getH_ScintillatorDmb ( int  is) const
inline

Definition at line 206 of file MaterialBudgetData.h.

References theH_ScintillatorDmb.

206  {
207  return theH_ScintillatorDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theH_ScintillatorDmb
float MaterialBudgetData::getH_ScintillatorFractionIL ( ) const
inline

Definition at line 114 of file MaterialBudgetData.h.

References theH_ScintillatorFractionIL.

114  {
float MaterialBudgetData::getH_ScintillatorFractionMB ( ) const
inline

Definition at line 55 of file MaterialBudgetData.h.

References theH_ScintillatorFractionMB.

55  {
float MaterialBudgetData::getH_ScintillatorIL ( ) const
inline

Definition at line 144 of file MaterialBudgetData.h.

References theH_ScintillatorIL.

144  {
145  return theH_ScintillatorIL; }
float MaterialBudgetData::getH_ScintillatorMB ( ) const
inline

Definition at line 85 of file MaterialBudgetData.h.

References theH_ScintillatorMB.

85  {
86  return theH_ScintillatorMB; }
bool MaterialBudgetData::getHGCalmode ( void  )
inline

Definition at line 387 of file MaterialBudgetData.h.

References isHGCal.

387 {return isHGCal;}
int MaterialBudgetData::getID ( ) const
inline

Definition at line 163 of file MaterialBudgetData.h.

References theID.

163  {
164  return theID; }
float MaterialBudgetData::getIntLen ( ) const
inline

Definition at line 184 of file MaterialBudgetData.h.

References theIntLen.

184  {
185  return theIntLen; }
float MaterialBudgetData::getLeadDil ( int  is) const
inline

Definition at line 241 of file MaterialBudgetData.h.

References theLeadDil.

241  {
242  return theLeadDil[is]; }
std::array< float, MAXNUMBERSTEPS > theLeadDil
float MaterialBudgetData::getLeadDmb ( int  is) const
inline

Definition at line 208 of file MaterialBudgetData.h.

References theLeadDmb.

208  {
209  return theLeadDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theLeadDmb
float MaterialBudgetData::getLeadFractionIL ( ) const
inline

Definition at line 116 of file MaterialBudgetData.h.

References theLeadFractionIL.

116  {
117  return theLeadFractionIL; }
float MaterialBudgetData::getLeadFractionMB ( ) const
inline

Definition at line 57 of file MaterialBudgetData.h.

References theLeadFractionMB.

57  {
58  return theLeadFractionMB; }
float MaterialBudgetData::getLeadIL ( ) const
inline

Definition at line 146 of file MaterialBudgetData.h.

References theLeadIL.

146  {
147  return theLeadIL; }
float MaterialBudgetData::getLeadMB ( ) const
inline

Definition at line 87 of file MaterialBudgetData.h.

References theLeadMB.

87  {
88  return theLeadMB; }
float MaterialBudgetData::getM_NEMA_FR4_plateDil ( int  is) const
inline

Definition at line 243 of file MaterialBudgetData.h.

References theM_NEMA_FR4_plateDil.

243  {
244  return theM_NEMA_FR4_plateDil[is]; }
std::array< float, MAXNUMBERSTEPS > theM_NEMA_FR4_plateDil
float MaterialBudgetData::getM_NEMA_FR4_plateDmb ( int  is) const
inline

Definition at line 210 of file MaterialBudgetData.h.

References theM_NEMA_FR4_plateDmb.

210  {
211  return theM_NEMA_FR4_plateDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theM_NEMA_FR4_plateDmb
float MaterialBudgetData::getM_NEMA_FR4_plateFractionIL ( ) const
inline

Definition at line 118 of file MaterialBudgetData.h.

References theM_NEMA_FR4_plateFractionIL.

118  {
float MaterialBudgetData::getM_NEMA_FR4_plateFractionMB ( ) const
inline

Definition at line 59 of file MaterialBudgetData.h.

References theM_NEMA_FR4_plateFractionMB.

59  {
float MaterialBudgetData::getM_NEMA_FR4_plateIL ( ) const
inline

Definition at line 148 of file MaterialBudgetData.h.

References theM_NEMA_FR4_plateIL.

148  {
149  return theM_NEMA_FR4_plateIL; }
float MaterialBudgetData::getM_NEMA_FR4_plateMB ( ) const
inline

Definition at line 89 of file MaterialBudgetData.h.

References theM_NEMA_FR4_plateMB.

89  {
90  return theM_NEMA_FR4_plateMB; }
float MaterialBudgetData::getMass ( ) const
inline

Definition at line 169 of file MaterialBudgetData.h.

References theMass.

169  {
170  return theMass; }
int MaterialBudgetData::getNumberOfSteps ( ) const
inline

Definition at line 173 of file MaterialBudgetData.h.

References theStepN.

173  {
174  return theStepN; }
float MaterialBudgetData::getOtherDil ( int  is) const
inline

Definition at line 233 of file MaterialBudgetData.h.

References theOtherDil.

233  {
234  return theOtherDil[is]; }
std::array< float, MAXNUMBERSTEPS > theOtherDil
float MaterialBudgetData::getOtherDmb ( int  is) const
inline

Definition at line 200 of file MaterialBudgetData.h.

References theOtherDmb.

200  {
201  return theOtherDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theOtherDmb
float MaterialBudgetData::getOtherFractionIL ( ) const
inline

Definition at line 108 of file MaterialBudgetData.h.

References theOtherFractionIL.

108  {
109  return theOtherFractionIL; }
float MaterialBudgetData::getOtherFractionMB ( ) const
inline

Definition at line 48 of file MaterialBudgetData.h.

References theOtherFractionMB.

48  {
49  return theOtherFractionMB; }
float MaterialBudgetData::getOtherIL ( ) const
inline

Definition at line 138 of file MaterialBudgetData.h.

References theOtherIL.

138  {
139  return theOtherIL; }
float MaterialBudgetData::getOtherMB ( ) const
inline

Definition at line 78 of file MaterialBudgetData.h.

References theOtherMB.

78  {
79  return theOtherMB; }
float MaterialBudgetData::getPhi ( ) const
inline

Definition at line 160 of file MaterialBudgetData.h.

References thePhi.

160  {
161  return thePhi; }
float MaterialBudgetData::getPt ( ) const
inline

Definition at line 165 of file MaterialBudgetData.h.

References thePt.

165  {
166  return thePt; }
int MaterialBudgetData::getPVcopyNo ( ) const
inline

Definition at line 180 of file MaterialBudgetData.h.

References thePVcopyNo.

180  {
181  return thePVcopyNo; }
std::string MaterialBudgetData::getPVname ( ) const
inline

Definition at line 178 of file MaterialBudgetData.h.

References thePVname.

178  {
179  return thePVname; }
float MaterialBudgetData::getRadLen ( ) const
inline

Definition at line 182 of file MaterialBudgetData.h.

References theRadLen.

182  {
183  return theRadLen; }
float MaterialBudgetData::getSensitiveDil ( int  is) const
inline

Definition at line 225 of file MaterialBudgetData.h.

References theSensitiveDil.

225  {
226  return theSensitiveDil[is]; }
std::array< float, MAXNUMBERSTEPS > theSensitiveDil
float MaterialBudgetData::getSensitiveDmb ( int  is) const
inline

Definition at line 192 of file MaterialBudgetData.h.

References theSensitiveDmb.

192  {
193  return theSensitiveDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theSensitiveDmb
float MaterialBudgetData::getSensitiveFractionIL ( ) const
inline

Definition at line 100 of file MaterialBudgetData.h.

References theSensitiveFractionIL.

100  {
101  return theSensitiveFractionIL; }
float MaterialBudgetData::getSensitiveFractionMB ( ) const
inline

Definition at line 40 of file MaterialBudgetData.h.

References theSensitiveFractionMB.

40  {
41  return theSensitiveFractionMB; }
float MaterialBudgetData::getSensitiveIL ( ) const
inline

Definition at line 130 of file MaterialBudgetData.h.

References theSensitiveIL.

130  {
131  return theSensitiveIL; }
float MaterialBudgetData::getSensitiveMB ( ) const
inline

Definition at line 70 of file MaterialBudgetData.h.

References theSensitiveMB.

70  {
71  return theSensitiveMB; }
float MaterialBudgetData::getSiliconDil ( int  is) const
inline

Definition at line 245 of file MaterialBudgetData.h.

References theSiliconDil.

245  {
246  return theSiliconDil[is]; }
std::array< float, MAXNUMBERSTEPS > theSiliconDil
float MaterialBudgetData::getSiliconDmb ( int  is) const
inline

Definition at line 212 of file MaterialBudgetData.h.

References theSiliconDmb.

212  {
213  return theSiliconDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theSiliconDmb
float MaterialBudgetData::getSiliconFractionIL ( ) const
inline

Definition at line 120 of file MaterialBudgetData.h.

References theSiliconFractionIL.

120  {
121  return theSiliconFractionIL; }
float MaterialBudgetData::getSiliconFractionMB ( ) const
inline

Definition at line 61 of file MaterialBudgetData.h.

References theSiliconFractionMB.

61  {
62  return theSiliconFractionMB; }
float MaterialBudgetData::getSiliconIL ( ) const
inline

Definition at line 150 of file MaterialBudgetData.h.

References theSiliconIL.

150  {
151  return theSiliconIL; }
float MaterialBudgetData::getSiliconMB ( ) const
inline

Definition at line 91 of file MaterialBudgetData.h.

References theSiliconMB.

91  {
92  return theSiliconMB; }
float MaterialBudgetData::getStainlessSteelDil ( int  is) const
inline

Definition at line 247 of file MaterialBudgetData.h.

References theStainlessSteelDil.

247  {
248  return theStainlessSteelDil[is]; }
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDil
float MaterialBudgetData::getStainlessSteelDmb ( int  is) const
inline

Definition at line 214 of file MaterialBudgetData.h.

References theStainlessSteelDmb.

214  {
215  return theStainlessSteelDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theStainlessSteelDmb
float MaterialBudgetData::getStainlessSteelFractionIL ( ) const
inline

Definition at line 122 of file MaterialBudgetData.h.

References theStainlessSteelFractionIL.

122  {
float MaterialBudgetData::getStainlessSteelFractionMB ( ) const
inline

Definition at line 63 of file MaterialBudgetData.h.

References theStainlessSteelFractionMB.

63  {
float MaterialBudgetData::getStainlessSteelIL ( ) const
inline

Definition at line 152 of file MaterialBudgetData.h.

References theStainlessSteelIL.

152  {
153  return theStainlessSteelIL; }
float MaterialBudgetData::getStainlessSteelMB ( ) const
inline

Definition at line 93 of file MaterialBudgetData.h.

References theStainlessSteelMB.

93  {
94  return theStainlessSteelMB; }
float MaterialBudgetData::getStepDil ( int  is)
inline

Definition at line 220 of file MaterialBudgetData.h.

References theDil.

220  {
221  return theDil[is];
222  }
std::array< float, MAXNUMBERSTEPS > theDil
float MaterialBudgetData::getStepDmb ( int  is)
inline

Definition at line 187 of file MaterialBudgetData.h.

References theDmb.

187  {
188  return theDmb[is];
189  }
std::array< float, MAXNUMBERSTEPS > theDmb
float MaterialBudgetData::getStepFinalBeta ( int  is)
inline

Definition at line 324 of file MaterialBudgetData.h.

References theStepFinalBeta.

324  {
325  return theStepFinalBeta[is];
326  }
std::array< float, MAXNUMBERSTEPS > theStepFinalBeta
float MaterialBudgetData::getStepFinalEnergy ( int  is)
inline

Definition at line 312 of file MaterialBudgetData.h.

References theStepFinalEnergy.

312  {
313  return theStepFinalEnergy[is];
314  }
std::array< float, MAXNUMBERSTEPS > theStepFinalEnergy
float MaterialBudgetData::getStepFinalEta ( int  is)
inline

Definition at line 306 of file MaterialBudgetData.h.

References theStepFinalEta.

306  {
307  return theStepFinalEta[is];
308  }
std::array< float, MAXNUMBERSTEPS > theStepFinalEta
float MaterialBudgetData::getStepFinalGamma ( int  is)
inline

Definition at line 327 of file MaterialBudgetData.h.

References theStepFinalGamma.

327  {
328  return theStepFinalGamma[is];
329  }
std::array< float, MAXNUMBERSTEPS > theStepFinalGamma
float MaterialBudgetData::getStepFinalMass ( int  is)
inline

Definition at line 330 of file MaterialBudgetData.h.

References theStepFinalMass.

330  {
331  return theStepFinalMass[is];
332  }
std::array< float, MAXNUMBERSTEPS > theStepFinalMass
float MaterialBudgetData::getStepFinalPhi ( int  is)
inline

Definition at line 309 of file MaterialBudgetData.h.

References theStepFinalPhi.

309  {
310  return theStepFinalPhi[is];
311  }
std::array< float, MAXNUMBERSTEPS > theStepFinalPhi
float MaterialBudgetData::getStepFinalPt ( int  is)
inline

Definition at line 303 of file MaterialBudgetData.h.

References theStepFinalPt.

303  {
304  return theStepFinalPt[is];
305  }
std::array< float, MAXNUMBERSTEPS > theStepFinalPt
float MaterialBudgetData::getStepFinalPx ( int  is)
inline

Definition at line 315 of file MaterialBudgetData.h.

References theStepFinalPx.

315  {
316  return theStepFinalPx[is];
317  }
std::array< float, MAXNUMBERSTEPS > theStepFinalPx
float MaterialBudgetData::getStepFinalPy ( int  is)
inline

Definition at line 318 of file MaterialBudgetData.h.

References theStepFinalPy.

318  {
319  return theStepFinalPy[is];
320  }
std::array< float, MAXNUMBERSTEPS > theStepFinalPy
float MaterialBudgetData::getStepFinalPz ( int  is)
inline

Definition at line 321 of file MaterialBudgetData.h.

References theStepFinalPz.

321  {
322  return theStepFinalPz[is];
323  }
std::array< float, MAXNUMBERSTEPS > theStepFinalPz
double MaterialBudgetData::getStepFinalX ( int  is)
inline

Definition at line 261 of file MaterialBudgetData.h.

References theFinalX.

261  {
262  return theFinalX[is];
263  }
std::array< double, MAXNUMBERSTEPS > theFinalX
double MaterialBudgetData::getStepFinalY ( int  is)
inline

Definition at line 264 of file MaterialBudgetData.h.

References theFinalY.

264  {
265  return theFinalY[is];
266  }
std::array< double, MAXNUMBERSTEPS > theFinalY
double MaterialBudgetData::getStepFinalZ ( int  is)
inline

Definition at line 267 of file MaterialBudgetData.h.

References theFinalZ.

267  {
268  return theFinalZ[is];
269  }
std::array< double, MAXNUMBERSTEPS > theFinalZ
int MaterialBudgetData::getStepID ( int  is)
inline

Definition at line 270 of file MaterialBudgetData.h.

References theStepID.

270  {
271  return theStepID[is];
272  }
std::array< int, MAXNUMBERSTEPS > theStepID
float MaterialBudgetData::getStepInitialBeta ( int  is)
inline

Definition at line 294 of file MaterialBudgetData.h.

References theStepInitialBeta.

294  {
295  return theStepInitialBeta[is];
296  }
std::array< float, MAXNUMBERSTEPS > theStepInitialBeta
float MaterialBudgetData::getStepInitialEnergy ( int  is)
inline

Definition at line 282 of file MaterialBudgetData.h.

References theStepInitialEnergy.

282  {
283  return theStepInitialEnergy[is];
284  }
std::array< float, MAXNUMBERSTEPS > theStepInitialEnergy
float MaterialBudgetData::getStepInitialEta ( int  is)
inline

Definition at line 276 of file MaterialBudgetData.h.

References theStepInitialEta.

276  {
277  return theStepInitialEta[is];
278  }
std::array< float, MAXNUMBERSTEPS > theStepInitialEta
float MaterialBudgetData::getStepInitialGamma ( int  is)
inline

Definition at line 297 of file MaterialBudgetData.h.

References theStepInitialGamma.

297  {
298  return theStepInitialGamma[is];
299  }
std::array< float, MAXNUMBERSTEPS > theStepInitialGamma
float MaterialBudgetData::getStepInitialMass ( int  is)
inline

Definition at line 300 of file MaterialBudgetData.h.

References theStepInitialMass.

300  {
301  return theStepInitialMass[is];
302  }
std::array< float, MAXNUMBERSTEPS > theStepInitialMass
float MaterialBudgetData::getStepInitialPhi ( int  is)
inline

Definition at line 279 of file MaterialBudgetData.h.

References theStepInitialPhi.

279  {
280  return theStepInitialPhi[is];
281  }
std::array< float, MAXNUMBERSTEPS > theStepInitialPhi
float MaterialBudgetData::getStepInitialPt ( int  is)
inline

Definition at line 273 of file MaterialBudgetData.h.

References theStepInitialPt.

273  {
274  return theStepInitialPt[is];
275  }
std::array< float, MAXNUMBERSTEPS > theStepInitialPt
float MaterialBudgetData::getStepInitialPx ( int  is)
inline

Definition at line 285 of file MaterialBudgetData.h.

References theStepInitialPx.

285  {
286  return theStepInitialPx[is];
287  }
std::array< float, MAXNUMBERSTEPS > theStepInitialPx
float MaterialBudgetData::getStepInitialPy ( int  is)
inline

Definition at line 288 of file MaterialBudgetData.h.

References theStepInitialPy.

288  {
289  return theStepInitialPy[is];
290  }
std::array< float, MAXNUMBERSTEPS > theStepInitialPy
float MaterialBudgetData::getStepInitialPz ( int  is)
inline

Definition at line 291 of file MaterialBudgetData.h.

References theStepInitialPz.

291  {
292  return theStepInitialPz[is];
293  }
std::array< float, MAXNUMBERSTEPS > theStepInitialPz
double MaterialBudgetData::getStepInitialX ( int  is)
inline

Definition at line 252 of file MaterialBudgetData.h.

References theInitialX.

252  {
253  return theInitialX[is];
254  }
std::array< double, MAXNUMBERSTEPS > theInitialX
double MaterialBudgetData::getStepInitialY ( int  is)
inline

Definition at line 255 of file MaterialBudgetData.h.

References theInitialY.

255  {
256  return theInitialY[is];
257  }
std::array< double, MAXNUMBERSTEPS > theInitialY
double MaterialBudgetData::getStepInitialZ ( int  is)
inline

Definition at line 258 of file MaterialBudgetData.h.

References theInitialZ.

258  {
259  return theInitialZ[is];
260  }
std::array< double, MAXNUMBERSTEPS > theInitialZ
float MaterialBudgetData::getStepMaterialDensity ( int  is)
inline

Definition at line 379 of file MaterialBudgetData.h.

References theMaterialDensity.

379  {
380  return theMaterialDensity[is];
381  }
std::array< float, MAXNUMBERSTEPS > theMaterialDensity
int MaterialBudgetData::getStepMaterialID ( int  is)
inline

Definition at line 367 of file MaterialBudgetData.h.

References theMaterialID.

367  {
368  return theMaterialID[is];
369  }
std::array< int, MAXNUMBERSTEPS > theMaterialID
float MaterialBudgetData::getStepMaterialLambda0 ( int  is)
inline

Definition at line 376 of file MaterialBudgetData.h.

References theMaterialLambda0.

376  {
377  return theMaterialLambda0[is];
378  }
std::array< float, MAXNUMBERSTEPS > theMaterialLambda0
std::string MaterialBudgetData::getStepMaterialName ( int  is)
inline

Definition at line 370 of file MaterialBudgetData.h.

References theMaterialName.

370  {
371  return theMaterialName[is];
372  }
std::array< std::string, MAXNUMBERSTEPS > theMaterialName
float MaterialBudgetData::getStepMaterialX0 ( int  is)
inline

Definition at line 373 of file MaterialBudgetData.h.

References theMaterialX0.

373  {
374  return theMaterialX0[is];
375  }
std::array< float, MAXNUMBERSTEPS > theMaterialX0
int MaterialBudgetData::getStepPostProcess ( int  is)
inline

Definition at line 336 of file MaterialBudgetData.h.

References theStepPostProcess.

336  {
337  return theStepPostProcess[is];
338  }
std::array< int, MAXNUMBERSTEPS > theStepPostProcess
int MaterialBudgetData::getStepPreProcess ( int  is)
inline

Definition at line 333 of file MaterialBudgetData.h.

References theStepPreProcess.

333  {
334  return theStepPreProcess[is];
335  }
std::array< int, MAXNUMBERSTEPS > theStepPreProcess
int MaterialBudgetData::getStepVolumeCopy ( int  is)
inline

Definition at line 346 of file MaterialBudgetData.h.

References theVolumeCopy.

346  {
347  return theVolumeCopy[is];
348  }
std::array< int, MAXNUMBERSTEPS > theVolumeCopy
int MaterialBudgetData::getStepVolumeID ( int  is)
inline

Definition at line 340 of file MaterialBudgetData.h.

References theVolumeID.

340  {
341  return theVolumeID[is];
342  }
std::array< int, MAXNUMBERSTEPS > theVolumeID
std::string MaterialBudgetData::getStepVolumeName ( int  is)
inline

Definition at line 343 of file MaterialBudgetData.h.

References theVolumeName.

343  {
344  return theVolumeName[is];
345  }
std::array< std::string, MAXNUMBERSTEPS > theVolumeName
float MaterialBudgetData::getStepVolumeX ( int  is)
inline

Definition at line 349 of file MaterialBudgetData.h.

References theVolumeX.

349  {
350  return theVolumeX[is];
351  }
std::array< float, MAXNUMBERSTEPS > theVolumeX
CLHEP::HepLorentzVector MaterialBudgetData::getStepVolumeXaxis ( int  is)
inline

Definition at line 358 of file MaterialBudgetData.h.

References theVolumeXaxis1, theVolumeXaxis2, and theVolumeXaxis3.

358  {
359  return CLHEP::HepLorentzVector(theVolumeXaxis1[is],theVolumeXaxis2[is],theVolumeXaxis3[is]);
360  }
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis1
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis2
std::array< float, MAXNUMBERSTEPS > theVolumeXaxis3
float MaterialBudgetData::getStepVolumeY ( int  is)
inline

Definition at line 352 of file MaterialBudgetData.h.

References theVolumeY.

352  {
353  return theVolumeY[is];
354  }
std::array< float, MAXNUMBERSTEPS > theVolumeY
CLHEP::HepLorentzVector MaterialBudgetData::getStepVolumeYaxis ( int  is)
inline

Definition at line 361 of file MaterialBudgetData.h.

References theVolumeYaxis1, theVolumeYaxis2, and theVolumeYaxis3.

361  {
362  return CLHEP::HepLorentzVector(theVolumeYaxis1[is],theVolumeYaxis2[is],theVolumeYaxis3[is]);
363  }
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis1
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis3
std::array< float, MAXNUMBERSTEPS > theVolumeYaxis2
float MaterialBudgetData::getStepVolumeZ ( int  is)
inline

Definition at line 355 of file MaterialBudgetData.h.

References theVolumeZ.

355  {
356  return theVolumeZ[is];
357  }
std::array< float, MAXNUMBERSTEPS > theVolumeZ
CLHEP::HepLorentzVector MaterialBudgetData::getStepVolumeZaxis ( int  is)
inline

Definition at line 364 of file MaterialBudgetData.h.

References theVolumeZaxis1, theVolumeZaxis2, and theVolumeZaxis3.

364  {
365  return CLHEP::HepLorentzVector(theVolumeZaxis1[is],theVolumeZaxis2[is],theVolumeZaxis3[is]);
366  }
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis1
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis2
std::array< float, MAXNUMBERSTEPS > theVolumeZaxis3
float MaterialBudgetData::getSupportDil ( int  is) const
inline

Definition at line 223 of file MaterialBudgetData.h.

References theSupportDil.

223  {
224  return theSupportDil[is]; }
std::array< float, MAXNUMBERSTEPS > theSupportDil
float MaterialBudgetData::getSupportDmb ( int  is) const
inline

Definition at line 190 of file MaterialBudgetData.h.

References theSupportDmb.

190  {
191  return theSupportDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theSupportDmb
float MaterialBudgetData::getSupportFractionIL ( ) const
inline

Definition at line 98 of file MaterialBudgetData.h.

References theSupportFractionIL.

98  {
99  return theSupportFractionIL; }
float MaterialBudgetData::getSupportFractionMB ( ) const
inline

Definition at line 38 of file MaterialBudgetData.h.

References theSupportFractionMB.

38  {
39  return theSupportFractionMB; }
float MaterialBudgetData::getSupportIL ( ) const
inline

Definition at line 128 of file MaterialBudgetData.h.

References theSupportIL.

128  {
129  return theSupportIL; }
float MaterialBudgetData::getSupportMB ( ) const
inline

Definition at line 68 of file MaterialBudgetData.h.

References theSupportMB.

68  {
69  return theSupportMB; }
float MaterialBudgetData::getTotalIL ( ) const
inline

Definition at line 126 of file MaterialBudgetData.h.

References theTotalIL.

126  {
127  return theTotalIL; }
float MaterialBudgetData::getTotalMB ( ) const
inline

Definition at line 35 of file MaterialBudgetData.h.

References theTotalMB.

35  {
36  return theTotalMB; }
float MaterialBudgetData::getTrkLen ( ) const
inline

Definition at line 176 of file MaterialBudgetData.h.

References theTrkLen.

176  {
177  return theTrkLen; }
float MaterialBudgetData::getWCuDil ( int  is) const
inline

Definition at line 249 of file MaterialBudgetData.h.

References theWCuDil.

249  {
250  return theWCuDil[is]; }
std::array< float, MAXNUMBERSTEPS > theWCuDil
float MaterialBudgetData::getWCuDmb ( int  is) const
inline

Definition at line 216 of file MaterialBudgetData.h.

References theWCuDmb.

216  {
217  return theWCuDmb[is]; }
std::array< float, MAXNUMBERSTEPS > theWCuDmb
float MaterialBudgetData::getWCuFractionIL ( ) const
inline

Definition at line 124 of file MaterialBudgetData.h.

References theWCuFractionIL.

124  {
125  return theWCuFractionIL; }
float MaterialBudgetData::getWCuFractionMB ( ) const
inline

Definition at line 65 of file MaterialBudgetData.h.

References theWCuFractionMB.

65  {
66  return theWCuFractionMB; }
float MaterialBudgetData::getWCuIL ( ) const
inline

Definition at line 154 of file MaterialBudgetData.h.

References theWCuIL.

154  {
155  return theWCuIL; }
float MaterialBudgetData::getWCuMB ( ) const
inline

Definition at line 95 of file MaterialBudgetData.h.

References theWCuMB.

95  {
96  return theWCuMB; }
void MaterialBudgetData::SetAllStepsToTree ( )

Definition at line 21 of file MaterialBudgetData.cc.

References allStepsToTree.

22 {
23  allStepsToTree = true;
24 }
void MaterialBudgetData::setHGCalmode ( bool  t)
inline

Definition at line 388 of file MaterialBudgetData.h.

References isHGCal, and lumiQTWidget::t.

Member Data Documentation

bool MaterialBudgetData::allStepsToTree
private
double MaterialBudgetData::densityConvertionFactor
private

Definition at line 565 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and MaterialBudgetData().

bool MaterialBudgetData::isHGCal
private
int MaterialBudgetData::MAXNUMBERSTEPS = 10000
staticprivate

Definition at line 392 of file MaterialBudgetData.h.

Referenced by dataPerStep().

std::unique_ptr<MaterialBudgetCategorizer> MaterialBudgetData::myMaterialBudgetCategorizer
private

Definition at line 557 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and MaterialBudgetData().

int MaterialBudgetData::stepN
private

Definition at line 561 of file MaterialBudgetData.h.

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theAirDil
private

Definition at line 496 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getAirDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theAirDmb
private

Definition at line 480 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getAirDmb().

float MaterialBudgetData::theAirFractionIL
private

Definition at line 415 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getAirFractionIL().

float MaterialBudgetData::theAirFractionMB
private

Definition at line 408 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getAirFractionMB().

float MaterialBudgetData::theAirIL
private

Definition at line 446 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getAirIL().

float MaterialBudgetData::theAirMB
private

Definition at line 422 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getAirMB().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theCablesDil
private

Definition at line 492 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getCablesDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theCablesDmb
private

Definition at line 476 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getCablesDmb().

float MaterialBudgetData::theCablesFractionIL
private

Definition at line 411 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getCablesFractionIL().

float MaterialBudgetData::theCablesFractionMB
private

Definition at line 404 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getCablesFractionMB().

float MaterialBudgetData::theCablesIL
private

Definition at line 442 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getCablesIL().

float MaterialBudgetData::theCablesMB
private

Definition at line 418 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getCablesMB().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theCoolingDil
private

Definition at line 493 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getCoolingDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theCoolingDmb
private

Definition at line 477 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getCoolingDmb().

float MaterialBudgetData::theCoolingFractionIL
private

Definition at line 412 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getCoolingFractionIL().

float MaterialBudgetData::theCoolingFractionMB
private

Definition at line 405 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getCoolingFractionMB().

float MaterialBudgetData::theCoolingIL
private

Definition at line 443 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getCoolingIL().

float MaterialBudgetData::theCoolingMB
private

Definition at line 419 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getCoolingMB().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theCopperDil
private

Definition at line 497 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getCopperDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theCopperDmb
private

Definition at line 481 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getCopperDmb().

float MaterialBudgetData::theCopperFractionIL
private

Definition at line 449 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getCopperFractionIL().

float MaterialBudgetData::theCopperFractionMB
private

Definition at line 425 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getCopperFractionMB().

float MaterialBudgetData::theCopperIL
private

Definition at line 456 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getCopperIL().

float MaterialBudgetData::theCopperMB
private

Definition at line 432 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getCopperMB().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theDil
private

Definition at line 489 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theDmb
private

Definition at line 473 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepDmb().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theElectronicsDil
private

Definition at line 494 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getElectronicsDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theElectronicsDmb
private

Definition at line 478 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getElectronicsDmb().

float MaterialBudgetData::theElectronicsFractionIL
private

Definition at line 413 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getElectronicsFractionIL().

float MaterialBudgetData::theElectronicsFractionMB
private

Definition at line 406 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getElectronicsFractionMB().

float MaterialBudgetData::theElectronicsIL
private

Definition at line 444 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getElectronicsIL().

float MaterialBudgetData::theElectronicsMB
private

Definition at line 420 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getElectronicsMB().

float MaterialBudgetData::theEnergy
private

Definition at line 400 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getEnergy().

float MaterialBudgetData::theEta
private

Definition at line 395 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getEta().

std::array<double,MAXNUMBERSTEPS> MaterialBudgetData::theFinalX
private

Definition at line 469 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalX().

std::array<double,MAXNUMBERSTEPS> MaterialBudgetData::theFinalY
private

Definition at line 470 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalY().

std::array<double,MAXNUMBERSTEPS> MaterialBudgetData::theFinalZ
private

Definition at line 471 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalZ().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theH_ScintillatorDil
private

Definition at line 498 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getH_ScintillatorDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theH_ScintillatorDmb
private

Definition at line 482 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getH_ScintillatorDmb().

float MaterialBudgetData::theH_ScintillatorFractionIL
private

Definition at line 450 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getH_ScintillatorFractionIL().

float MaterialBudgetData::theH_ScintillatorFractionMB
private

Definition at line 426 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getH_ScintillatorFractionMB().

float MaterialBudgetData::theH_ScintillatorIL
private
float MaterialBudgetData::theH_ScintillatorMB
private
int MaterialBudgetData::theID
private

Definition at line 399 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getID().

std::array<double,MAXNUMBERSTEPS> MaterialBudgetData::theInitialX
private

Definition at line 465 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialX().

std::array<double,MAXNUMBERSTEPS> MaterialBudgetData::theInitialY
private

Definition at line 466 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialY().

std::array<double,MAXNUMBERSTEPS> MaterialBudgetData::theInitialZ
private

Definition at line 467 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialZ().

float MaterialBudgetData::theIntLen
private

Definition at line 560 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getIntLen().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theLeadDil
private

Definition at line 499 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getLeadDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theLeadDmb
private

Definition at line 483 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getLeadDmb().

float MaterialBudgetData::theLeadFractionIL
private

Definition at line 451 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getLeadFractionIL().

float MaterialBudgetData::theLeadFractionMB
private

Definition at line 427 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getLeadFractionMB().

float MaterialBudgetData::theLeadIL
private

Definition at line 458 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getLeadIL().

float MaterialBudgetData::theLeadMB
private

Definition at line 434 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getLeadMB().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theM_NEMA_FR4_plateDil
private

Definition at line 500 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getM_NEMA_FR4_plateDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theM_NEMA_FR4_plateDmb
private

Definition at line 484 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getM_NEMA_FR4_plateDmb().

float MaterialBudgetData::theM_NEMA_FR4_plateFractionIL
private
float MaterialBudgetData::theM_NEMA_FR4_plateFractionMB
private
float MaterialBudgetData::theM_NEMA_FR4_plateIL
private
float MaterialBudgetData::theM_NEMA_FR4_plateMB
private
float MaterialBudgetData::theMass
private

Definition at line 401 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getMass().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theMaterialDensity
private

Definition at line 525 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepMaterialDensity().

std::array<int,MAXNUMBERSTEPS> MaterialBudgetData::theMaterialID
private

Definition at line 521 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepMaterialID().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theMaterialLambda0
private

Definition at line 524 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepMaterialLambda0().

std::array<std::string,MAXNUMBERSTEPS> MaterialBudgetData::theMaterialName
private

Definition at line 522 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepMaterialName().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theMaterialX0
private

Definition at line 523 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepMaterialX0().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theOtherDil
private

Definition at line 495 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getOtherDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theOtherDmb
private

Definition at line 479 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getOtherDmb().

float MaterialBudgetData::theOtherFractionIL
private

Definition at line 414 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getOtherFractionIL().

float MaterialBudgetData::theOtherFractionMB
private

Definition at line 407 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getOtherFractionMB().

float MaterialBudgetData::theOtherIL
private

Definition at line 445 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getOtherIL().

float MaterialBudgetData::theOtherMB
private

Definition at line 421 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getOtherMB().

float MaterialBudgetData::thePhi
private

Definition at line 396 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getPhi().

float MaterialBudgetData::thePt
private

Definition at line 398 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getPt().

int MaterialBudgetData::thePVcopyNo
private

Definition at line 555 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getPVcopyNo().

std::string MaterialBudgetData::thePVname
private

Definition at line 553 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getPVname().

float MaterialBudgetData::theRadLen
private

Definition at line 559 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getRadLen().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theSensitiveDil
private

Definition at line 491 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getSensitiveDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theSensitiveDmb
private

Definition at line 475 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getSensitiveDmb().

float MaterialBudgetData::theSensitiveFractionIL
private

Definition at line 410 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getSensitiveFractionIL().

float MaterialBudgetData::theSensitiveFractionMB
private

Definition at line 403 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getSensitiveFractionMB().

float MaterialBudgetData::theSensitiveIL
private

Definition at line 441 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getSensitiveIL().

float MaterialBudgetData::theSensitiveMB
private

Definition at line 417 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getSensitiveMB().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theSiliconDil
private

Definition at line 501 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getSiliconDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theSiliconDmb
private

Definition at line 485 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getSiliconDmb().

float MaterialBudgetData::theSiliconFractionIL
private

Definition at line 453 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getSiliconFractionIL().

float MaterialBudgetData::theSiliconFractionMB
private

Definition at line 429 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getSiliconFractionMB().

float MaterialBudgetData::theSiliconIL
private

Definition at line 460 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getSiliconIL().

float MaterialBudgetData::theSiliconMB
private

Definition at line 436 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getSiliconMB().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStainlessSteelDil
private

Definition at line 502 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStainlessSteelDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStainlessSteelDmb
private

Definition at line 486 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStainlessSteelDmb().

float MaterialBudgetData::theStainlessSteelFractionIL
private

Definition at line 454 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getStainlessSteelFractionIL().

float MaterialBudgetData::theStainlessSteelFractionMB
private

Definition at line 430 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getStainlessSteelFractionMB().

float MaterialBudgetData::theStainlessSteelIL
private
float MaterialBudgetData::theStainlessSteelMB
private
std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalBeta
private

Definition at line 545 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalBeta().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalEnergy
private

Definition at line 541 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalEnergy().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalEta
private

Definition at line 539 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalEta().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalGamma
private

Definition at line 546 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalGamma().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalMass
private

Definition at line 547 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalMass().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalPhi
private

Definition at line 540 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalPhi().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalPt
private

Definition at line 538 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalPt().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalPx
private

Definition at line 542 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalPx().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalPy
private

Definition at line 543 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalPy().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepFinalPz
private

Definition at line 544 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepFinalPz().

std::array<int,MAXNUMBERSTEPS> MaterialBudgetData::theStepID
private

Definition at line 527 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepID().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialBeta
private

Definition at line 535 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialBeta().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialEnergy
private

Definition at line 531 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialEnergy().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialEta
private

Definition at line 529 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialEta().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialGamma
private

Definition at line 536 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialGamma().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialMass
private

Definition at line 537 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialMass().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialPhi
private

Definition at line 530 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialPhi().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialPt
private

Definition at line 528 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialPt().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialPx
private

Definition at line 532 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialPx().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialPy
private

Definition at line 533 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialPy().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theStepInitialPz
private

Definition at line 534 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepInitialPz().

int MaterialBudgetData::theStepN
private

Definition at line 464 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getNumberOfSteps().

std::array<int,MAXNUMBERSTEPS> MaterialBudgetData::theStepPostProcess
private

Definition at line 549 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepPostProcess().

std::array<int,MAXNUMBERSTEPS> MaterialBudgetData::theStepPreProcess
private

Definition at line 548 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepPreProcess().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theSupportDil
private

Definition at line 490 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getSupportDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theSupportDmb
private

Definition at line 474 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getSupportDmb().

float MaterialBudgetData::theSupportFractionIL
private

Definition at line 409 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getSupportFractionIL().

float MaterialBudgetData::theSupportFractionMB
private

Definition at line 402 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getSupportFractionMB().

float MaterialBudgetData::theSupportIL
private

Definition at line 440 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getSupportIL().

float MaterialBudgetData::theSupportMB
private

Definition at line 416 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getSupportMB().

float MaterialBudgetData::theTotalIL
private

Definition at line 439 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getTotalIL().

float MaterialBudgetData::theTotalMB
private

Definition at line 394 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getTotalMB().

float MaterialBudgetData::theTrkLen
private

Definition at line 551 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getTrkLen().

std::array<int,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeCopy
private

Definition at line 507 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeCopy().

std::array<int,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeID
private

Definition at line 505 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeID().

std::array<std::string,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeName
private

Definition at line 506 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeName().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeX
private

Definition at line 508 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeX().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeXaxis1
private

Definition at line 511 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeXaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeXaxis2
private

Definition at line 512 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeXaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeXaxis3
private

Definition at line 513 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeXaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeY
private

Definition at line 509 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeY().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeYaxis1
private

Definition at line 514 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeYaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeYaxis2
private

Definition at line 515 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeYaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeYaxis3
private

Definition at line 516 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeYaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeZ
private

Definition at line 510 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeZ().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeZaxis1
private

Definition at line 517 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeZaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeZaxis2
private

Definition at line 518 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeZaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theVolumeZaxis3
private

Definition at line 519 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getStepVolumeZaxis().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theWCuDil
private

Definition at line 503 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getWCuDil().

std::array<float,MAXNUMBERSTEPS> MaterialBudgetData::theWCuDmb
private

Definition at line 487 of file MaterialBudgetData.h.

Referenced by dataPerStep(), and getWCuDmb().

float MaterialBudgetData::theWCuFractionIL
private

Definition at line 455 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getWCuFractionIL().

float MaterialBudgetData::theWCuFractionMB
private

Definition at line 431 of file MaterialBudgetData.h.

Referenced by dataPerStep(), dataStartTrack(), and getWCuFractionMB().

float MaterialBudgetData::theWCuIL
private

Definition at line 462 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getWCuIL().

float MaterialBudgetData::theWCuMB
private

Definition at line 438 of file MaterialBudgetData.h.

Referenced by dataEndTrack(), dataPerStep(), dataStartTrack(), and getWCuMB().