Belle II Software development
|
Calculate energy loss, fluctuation, and multiple-scattering angle for extrapolator. More...
#include <EnergyLossForExtrapolator.h>
Public Member Functions | |
EnergyLossForExtrapolator () | |
Constructor (WITHOUT GEANT4 verbosity flag) | |
~EnergyLossForExtrapolator () | |
Destructor. | |
G4double | ComputeDEDX (G4double kinEnergy, const G4ParticleDefinition *) |
Get specific ionization energy loss for the given kinetic energy and particle. | |
G4double | ComputeRange (G4double kinEnergy, const G4ParticleDefinition *) |
Get range for the given kinetic energy and particle. | |
G4double | ComputeEnergy (G4double range, const G4ParticleDefinition *) |
Get kinetic energy corresponding to the given range and particle. | |
G4double | EnergyAfterStep (G4double kinEnergy, G4double step, const G4Material *, const G4ParticleDefinition *) |
Get kinetic energy after a step in given material by given particle. | |
G4double | EnergyBeforeStep (G4double kinEnergy, G4double step, const G4Material *, const G4ParticleDefinition *) |
Get kinetic energy before a step in given material by given particle. | |
G4double | TrueStepLength (G4double kinEnergy, G4double step, const G4Material *, const G4ParticleDefinition *part) |
Get true step length for given particle and kinetic energy. | |
G4double | AverageScatteringAngle (G4double kinEnergy, G4double step, const G4Material *, const G4ParticleDefinition *part) |
Get kinetic energy after a step in given material by given particle. | |
G4double | ComputeTrueStep (const G4Material *, const G4ParticleDefinition *part, G4double kinEnergy, G4double stepLength) |
Get average scattering angle after a step in given material by given particle. | |
void | SetMinKinEnergy (G4double) |
Get energy dispersion for a step in given material by given particle. | |
void | SetMaxKinEnergy (G4double) |
Change the maximum particle kinetic energy for this class (default is 10 TeV) | |
void | SetMaxEnergyTransfer (G4double) |
Change the maximum energy loss or gain for this class (default is infinity) | |
Private Member Functions | |
void | Initialisation () |
Initialize tables used to calculate energy loss, fluctuation, and scattering for electrons, positrons, muons, pions, kaons, protons and deuterons in all materials. | |
G4bool | SetupKinematics (const G4ParticleDefinition *, const G4Material *, G4double kinEnergy) |
Save current particle properties, kinetic energy and material in internal cached state. | |
G4PhysicsTable * | PrepareTable () |
Create a new table to store one type of kinematics data for a particle. | |
const G4ParticleDefinition * | FindParticle (const G4String &name) |
Get the particle definition of the named particle. | |
void | ComputeElectronDEDX (const G4ParticleDefinition *part, G4PhysicsTable *table) |
Fill the table with the specific ionization energy loss of an electron. | |
void | ComputeMuonDEDX (const G4ParticleDefinition *part, G4PhysicsTable *table) |
Fill the table with the specific ionization energy loss of a muon. | |
void | ComputeHadronDEDX (const G4ParticleDefinition *part, G4PhysicsTable *table) |
Fill the table with the specific ionization energy loss of a hadron. | |
void | ComputeTransportXS (const G4ParticleDefinition *part, G4PhysicsTable *table) |
Fill the table with the multiple-scattering cross section of a particle. | |
G4double | ComputeValue (G4double x, const G4PhysicsTable *table) |
Get the tabulated energy-loss, fluctuation, or scattering value for the given input. | |
EnergyLossForExtrapolator & | operator= (const EnergyLossForExtrapolator &right) |
Hide assignment operator. | |
EnergyLossForExtrapolator (const EnergyLossForExtrapolator &) | |
Hide copy-assignment operator. | |
Private Attributes | |
const G4ParticleDefinition * | m_Particle |
Pointer to definition of the currently cached particle. | |
const G4ParticleDefinition * | m_Electron |
Pointer to definition of the electron. | |
const G4ParticleDefinition * | m_Positron |
Pointer to definition of the positron. | |
const G4ParticleDefinition * | m_MuonPlus |
Pointer to definition of the positive muon. | |
const G4ParticleDefinition * | m_MuonMinus |
Pointer to definition of the negative muon. | |
const G4ParticleDefinition * | m_PionPlus |
Pointer to definition of the positive pion. | |
const G4ParticleDefinition * | m_PionMinus |
Pointer to definition of the negative pion. | |
const G4ParticleDefinition * | m_KaonPlus |
Pointer to definition of the positive kaon. | |
const G4ParticleDefinition * | m_KaonMinus |
Pointer to definition of the negative kaon. | |
const G4ParticleDefinition * | m_Proton |
Pointer to definition of the proton. | |
const G4ParticleDefinition * | m_AntiProton |
Pointer to definition of the antiproton. | |
const G4ParticleDefinition * | m_Deuteron |
Pointer to definition of the deuteron. | |
const G4ParticleDefinition * | m_AntiDeuteron |
Pointer to definition of the antideuteron. | |
G4DataVector | m_Cuts |
Vector of particle cuts. | |
G4ProductionCuts * | m_ProductionCuts |
Pointer to the internal cache of default G4ProductionCuts. | |
std::vector< const G4MaterialCutsCouple * > | m_Couples |
List of material-cuts pairings. | |
G4PhysicsTable * | m_DedxElectron |
Pointer to the electron's specific ionization energy loss vs KE table. | |
G4PhysicsTable * | m_DedxPositron |
Pointer to the positron's specific ionization energy loss vs KE table. | |
G4PhysicsTable * | m_DedxMuon |
Pointer to the muon's specific ionization energy loss vs KE table. | |
G4PhysicsTable * | m_DedxPion |
Pointer to the pion's specific ionization energy loss vs KE table. | |
G4PhysicsTable * | m_DedxKaon |
Pointer to the kaon's specific ionization energy loss vs KE table. | |
G4PhysicsTable * | m_DedxProton |
Pointer to the proton's specific ionization energy loss vs KE table. | |
G4PhysicsTable * | m_DedxDeuteron |
Pointer to the deuteron's specific ionization energy loss vs KE table. | |
G4PhysicsTable * | m_RangeElectron |
Pointer to the electron's range vs KE table. | |
G4PhysicsTable * | m_RangePositron |
Pointer to the positron's range vs KE table. | |
G4PhysicsTable * | m_RangeMuon |
Pointer to the muon's range vs KE table. | |
G4PhysicsTable * | m_RangePion |
Pointer to the pion's range vs KE table. | |
G4PhysicsTable * | m_RangeKaon |
Pointer to the kaon's range vs KE table. | |
G4PhysicsTable * | m_RangeProton |
Pointer to the proton's range vs KE table. | |
G4PhysicsTable * | m_RangeDeuteron |
Pointer to the deuteron's range vs KE table. | |
G4PhysicsTable * | m_InvRangeElectron |
Pointer to the electron's inverse-range vs KE table. | |
G4PhysicsTable * | m_InvRangePositron |
Pointer to the positron's inverse-range vs KE table. | |
G4PhysicsTable * | m_InvRangeMuon |
Pointer to the muon's inverse-range vs KE table. | |
G4PhysicsTable * | m_InvRangePion |
Pointer to the pion's inverse-range vs KE table. | |
G4PhysicsTable * | m_InvRangeKaon |
Pointer to the kaon's inverse-range vs KE table. | |
G4PhysicsTable * | m_InvRangeProton |
Pointer to the proton's inverse-range vs KE table. | |
G4PhysicsTable * | m_InvRangeDeuteron |
Pointer to the deuteron's inverse-range vs KE table. | |
G4PhysicsTable * | m_MscatElectron |
Pointer to the electron's multiple-scattering cross section vs KE table. | |
const G4Material * | m_Material |
Pointer to internally cached material. | |
G4int | m_MaterialIndex |
Cached material index. | |
G4double | m_ElectronDensity |
Cached material electron density. | |
G4double | m_RadLength |
Cached material radiation length. | |
G4double | m_Mass |
Cached particle mass. | |
G4double | m_ChargeSq |
Cached charge-squared (in units of e) | |
G4double | m_KineticEnergy |
Cached particle kinetic energy. | |
G4double | m_Gamma |
Cached particle's gamma value. | |
G4double | m_BetaGammaSq |
Cached particle's beta*gamma squared. | |
G4double | m_BetaSq |
Cached particle's beta squared. | |
G4double | m_Tmax |
Cached particle's maximum kinetic-energy loss. | |
G4double | m_LinLossLimit |
Step-length limit in units of range (0.01); not modifiable by user. | |
G4double | m_UserTmin |
User's minimum kinetic energy for particles (default 1 MeV) | |
G4double | m_UserTmax |
User's maximum kinetic energy for particles (default 10 TeV) | |
G4double | m_UserMaxEnergyTransfer |
User's upper limit on maximum kinetic-energy loss (default infinity) | |
G4int | m_Nbins |
Number of bins in each energy loss, fluctuation, and multiple-scattering table (70, fixed) | |
G4int | m_NMaterials |
Number of materials in current geometry. | |
G4bool | m_Initialised |
UNUSED Flag to indicate that Initialisation() method has been called. | |
Calculate energy loss, fluctuation, and multiple-scattering angle for extrapolator.
Definition at line 33 of file EnergyLossForExtrapolator.h.
EnergyLossForExtrapolator | ( | void | ) |
Constructor (WITHOUT GEANT4 verbosity flag)
Definition at line 34 of file EnergyLossForExtrapolator.cc.
Destructor.
Definition at line 93 of file EnergyLossForExtrapolator.cc.
|
inline |
Get kinetic energy after a step in given material by given particle.
Get kinetic energy before a step in given material by given particle Get average scattering angle after a step in given material by given particle
Definition at line 355 of file EnergyLossForExtrapolator.h.
G4double ComputeDEDX | ( | G4double | kinEnergy, |
const G4ParticleDefinition * | part | ||
) |
Get specific ionization energy loss for the given kinetic energy and particle.
Definition at line 339 of file EnergyLossForExtrapolator.cc.
|
private |
Fill the table with the specific ionization energy loss of an electron.
Definition at line 411 of file EnergyLossForExtrapolator.cc.
G4double ComputeEnergy | ( | G4double | range, |
const G4ParticleDefinition * | part | ||
) |
Get kinetic energy corresponding to the given range and particle.
Definition at line 387 of file EnergyLossForExtrapolator.cc.
|
private |
Fill the table with the specific ionization energy loss of a hadron.
Definition at line 512 of file EnergyLossForExtrapolator.cc.
|
private |
Fill the table with the specific ionization energy loss of a muon.
Definition at line 459 of file EnergyLossForExtrapolator.cc.
G4double ComputeRange | ( | G4double | kinEnergy, |
const G4ParticleDefinition * | part | ||
) |
Get range for the given kinetic energy and particle.
Definition at line 363 of file EnergyLossForExtrapolator.cc.
|
private |
Fill the table with the multiple-scattering cross section of a particle.
Definition at line 552 of file EnergyLossForExtrapolator.cc.
|
inline |
Get average scattering angle after a step in given material by given particle.
Get true step length for given particle and kinetic energy
Definition at line 372 of file EnergyLossForExtrapolator.h.
|
inlineprivate |
Get the tabulated energy-loss, fluctuation, or scattering value for the given input.
Definition at line 399 of file EnergyLossForExtrapolator.h.
G4double EnergyAfterStep | ( | G4double | kinEnergy, |
G4double | step, | ||
const G4Material * | mat, | ||
const G4ParticleDefinition * | part | ||
) |
Get kinetic energy after a step in given material by given particle.
Definition at line 122 of file EnergyLossForExtrapolator.cc.
G4double EnergyBeforeStep | ( | G4double | kinEnergy, |
G4double | step, | ||
const G4Material * | mat, | ||
const G4ParticleDefinition * | part | ||
) |
Get kinetic energy before a step in given material by given particle.
Definition at line 144 of file EnergyLossForExtrapolator.cc.
|
private |
Initialize tables used to calculate energy loss, fluctuation, and scattering for electrons, positrons, muons, pions, kaons, protons and deuterons in all materials.
Definition at line 231 of file EnergyLossForExtrapolator.cc.
|
private |
Create a new table to store one type of kinematics data for a particle.
Definition at line 327 of file EnergyLossForExtrapolator.cc.
|
inline |
Change the maximum energy loss or gain for this class (default is infinity)
Definition at line 431 of file EnergyLossForExtrapolator.h.
|
inline |
Change the maximum particle kinetic energy for this class (default is 10 TeV)
Definition at line 424 of file EnergyLossForExtrapolator.h.
|
inline |
Get energy dispersion for a step in given material by given particle.
Get energy dispersion for a step in given material by given particle Change the GEANT4 verbosity for this class Change the minimum particle kinetic energy for this class (default is 1 MeV)
Definition at line 417 of file EnergyLossForExtrapolator.h.
|
private |
Save current particle properties, kinetic energy and material in internal cached state.
Definition at line 187 of file EnergyLossForExtrapolator.cc.
G4double TrueStepLength | ( | G4double | kinEnergy, |
G4double | step, | ||
const G4Material * | mat, | ||
const G4ParticleDefinition * | part | ||
) |
Get true step length for given particle and kinetic energy.
Definition at line 166 of file EnergyLossForExtrapolator.cc.
|
private |
Pointer to definition of the antideuteron.
Definition at line 180 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the antiproton.
Definition at line 174 of file EnergyLossForExtrapolator.h.
|
private |
Cached particle's beta*gamma squared.
Definition at line 282 of file EnergyLossForExtrapolator.h.
|
private |
Cached particle's beta squared.
Definition at line 285 of file EnergyLossForExtrapolator.h.
|
private |
Cached charge-squared (in units of e)
Definition at line 273 of file EnergyLossForExtrapolator.h.
|
private |
List of material-cuts pairings.
Definition at line 189 of file EnergyLossForExtrapolator.h.
|
private |
Vector of particle cuts.
Definition at line 183 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the deuteron's specific ionization energy loss vs KE table.
Definition at line 210 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the electron's specific ionization energy loss vs KE table.
Definition at line 192 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the kaon's specific ionization energy loss vs KE table.
Definition at line 204 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the muon's specific ionization energy loss vs KE table.
Definition at line 198 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the pion's specific ionization energy loss vs KE table.
Definition at line 201 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the positron's specific ionization energy loss vs KE table.
Definition at line 195 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the proton's specific ionization energy loss vs KE table.
Definition at line 207 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the deuteron.
Definition at line 177 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the electron.
Definition at line 147 of file EnergyLossForExtrapolator.h.
|
private |
Cached material electron density.
Definition at line 264 of file EnergyLossForExtrapolator.h.
|
private |
Cached particle's gamma value.
Definition at line 279 of file EnergyLossForExtrapolator.h.
|
private |
UNUSED Flag to indicate that Initialisation() method has been called.
Definition at line 309 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the deuteron's inverse-range vs KE table.
Definition at line 252 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the electron's inverse-range vs KE table.
Definition at line 234 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the kaon's inverse-range vs KE table.
Definition at line 246 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the muon's inverse-range vs KE table.
Definition at line 240 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the pion's inverse-range vs KE table.
Definition at line 243 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the positron's inverse-range vs KE table.
Definition at line 237 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the proton's inverse-range vs KE table.
Definition at line 249 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the negative kaon.
Definition at line 168 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the positive kaon.
Definition at line 165 of file EnergyLossForExtrapolator.h.
|
private |
Cached particle kinetic energy.
Definition at line 276 of file EnergyLossForExtrapolator.h.
|
private |
Step-length limit in units of range (0.01); not modifiable by user.
Definition at line 291 of file EnergyLossForExtrapolator.h.
|
private |
Cached particle mass.
Definition at line 270 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to internally cached material.
Definition at line 258 of file EnergyLossForExtrapolator.h.
|
private |
Cached material index.
Definition at line 261 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the electron's multiple-scattering cross section vs KE table.
Definition at line 255 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the negative muon.
Definition at line 156 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the positive muon.
Definition at line 153 of file EnergyLossForExtrapolator.h.
|
private |
Number of bins in each energy loss, fluctuation, and multiple-scattering table (70, fixed)
Definition at line 303 of file EnergyLossForExtrapolator.h.
|
private |
Number of materials in current geometry.
Definition at line 306 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the currently cached particle.
Definition at line 144 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the negative pion.
Definition at line 162 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the positive pion.
Definition at line 159 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the positron.
Definition at line 150 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the internal cache of default G4ProductionCuts.
Definition at line 186 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to definition of the proton.
Definition at line 171 of file EnergyLossForExtrapolator.h.
|
private |
Cached material radiation length.
Definition at line 267 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the deuteron's range vs KE table.
Definition at line 231 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the electron's range vs KE table.
Definition at line 213 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the kaon's range vs KE table.
Definition at line 225 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the muon's range vs KE table.
Definition at line 219 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the pion's range vs KE table.
Definition at line 222 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the positron's range vs KE table.
Definition at line 216 of file EnergyLossForExtrapolator.h.
|
private |
Pointer to the proton's range vs KE table.
Definition at line 228 of file EnergyLossForExtrapolator.h.
|
private |
Cached particle's maximum kinetic-energy loss.
Definition at line 288 of file EnergyLossForExtrapolator.h.
|
private |
User's upper limit on maximum kinetic-energy loss (default infinity)
Definition at line 300 of file EnergyLossForExtrapolator.h.
|
private |
User's maximum kinetic energy for particles (default 10 TeV)
Definition at line 297 of file EnergyLossForExtrapolator.h.
|
private |
User's minimum kinetic energy for particles (default 1 MeV)
Definition at line 294 of file EnergyLossForExtrapolator.h.