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, myMaterialBudgetCategorizer, and ~MaterialBudgetData().

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 ( )
default

Referenced by MaterialBudgetData().

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 127 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.

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

Definition at line 180 of file MaterialBudgetData.cc.

References allStepsToTree, densityConvertionFactor, f, 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.

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

26 {
27 
28  const G4ThreeVector& dir = aTrack->GetMomentum() ;
29 
30  if( myMaterialBudgetCategorizer == nullptr){
31  if(isHGCal){
32  myMaterialBudgetCategorizer = std::make_unique<MaterialBudgetCategorizer>("HGCal");
33  } else {
34  myMaterialBudgetCategorizer = std::make_unique<MaterialBudgetCategorizer>("Tracker");
35  }
36  }
37 
38  theStepN=0;
39  theTotalMB=0;
40  theTotalIL=0;
41  theEta=0;
42  thePhi=0;
43  theID=0;
44  thePt=0;
45  theEnergy=0;
46  theMass=0;
47 
48  theSupportMB = 0.f;
49  theSensitiveMB = 0.f;
50  theCoolingMB = 0.f;
51  theElectronicsMB = 0.f;
52  theOtherMB = 0.f;
53 
54  //HGCal
55  theAirMB = 0.f;
56  theCablesMB = 0.f;
57  theCopperMB = 0.f;
58  theH_ScintillatorMB = 0.f;
59  theLeadMB = 0.f;
61  theSiliconMB = 0.f;
62  theStainlessSteelMB = 0.f;
63  theWCuMB = 0.f;
64 
65  theSupportIL = 0.f;
66  theSensitiveIL = 0.f;
67  theCoolingIL = 0.f;
68  theElectronicsIL = 0.f;
69  theOtherIL = 0.f;
70 
71  //HGCal
72  theAirIL = 0.f;
73  theCablesIL = 0.f;
74  theCopperIL = 0.f;
75  theH_ScintillatorIL = 0.f;
76  theLeadIL = 0.f;
78  theSiliconIL = 0.f;
79  theStainlessSteelIL = 0.f;
80  theWCuIL = 0.f;
81 
86  theOtherFractionMB = 0.f;
87  //HGCal
88  theAirFractionMB = 0.f;
89  theCablesFractionMB = 0.f;
90  theCopperFractionMB = 0.f;
92  theLeadFractionMB = 0.f;
96  theWCuFractionMB = 0.f;
97 
100  theCoolingFractionIL = 0.f;
102  theOtherFractionIL = 0.f;
103  //HGCal
104  theAirFractionIL = 0.f;
105  theCablesFractionIL = 0.f;
106  theCopperFractionIL = 0.f;
108  theLeadFractionIL = 0.f;
110  theSiliconFractionIL = 0.f;
112  theWCuFractionIL = 0.f;
113 
114  theID = (int)(aTrack->GetDefinition()->GetPDGEncoding());
115  thePt = dir.perp();
116  if( dir.theta() != 0 ) {
117  theEta = dir.eta();
118  } else {
119  theEta = -99;
120  }
121  thePhi = dir.phi();
122  theEnergy = aTrack->GetTotalEnergy();
123  theMass = aTrack->GetDefinition()->GetPDGMass();
124 }
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 19 of file MaterialBudgetData.cc.

References allStepsToTree.

20 {
21  allStepsToTree = true;
22 }
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().