Geant4  10.03
G4LossTableManager Class Reference

#include <G4LossTableManager.hh>

+ Collaboration diagram for G4LossTableManager:

Public Member Functions

 ~G4LossTableManager ()
 
void Clear ()
 
void PreparePhysicsTable (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p, G4bool theMaster)
 
void PreparePhysicsTable (const G4ParticleDefinition *aParticle, G4VEmProcess *p, G4bool theMaster)
 
void PreparePhysicsTable (const G4ParticleDefinition *aParticle, G4VMultipleScattering *p, G4bool theMaster)
 
void BuildPhysicsTable (const G4ParticleDefinition *aParticle)
 
void BuildPhysicsTable (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
void LocalPhysicsTables (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
G4double GetDEDX (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4double GetSubDEDX (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4double GetRange (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4double GetCSDARange (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4double GetRangeFromRestricteDEDX (const G4ParticleDefinition *aParticle, G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4double GetEnergy (const G4ParticleDefinition *aParticle, G4double range, const G4MaterialCutsCouple *couple)
 
G4double GetDEDXDispersion (const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double &length)
 
void Register (G4VEnergyLossProcess *p)
 
void DeRegister (G4VEnergyLossProcess *p)
 
void Register (G4VMultipleScattering *p)
 
void DeRegister (G4VMultipleScattering *p)
 
void Register (G4VEmProcess *p)
 
void DeRegister (G4VEmProcess *p)
 
void Register (G4VEmModel *p)
 
void DeRegister (G4VEmModel *p)
 
void Register (G4VEmFluctuationModel *p)
 
void DeRegister (G4VEmFluctuationModel *p)
 
void RegisterExtraParticle (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *p)
 
void SetVerbose (G4int val)
 
void SetAtomDeexcitation (G4VAtomDeexcitation *)
 
void SetSubCutProducer (G4VSubCutProducer *)
 
G4bool IsMaster () const
 
G4VEnergyLossProcess * GetEnergyLossProcess (const G4ParticleDefinition *)
 
const std::vector
< G4VEnergyLossProcess * > & 
GetEnergyLossProcessVector ()
 
const std::vector
< G4VEmProcess * > & 
GetEmProcessVector ()
 
const std::vector
< G4VMultipleScattering * > & 
GetMultipleScatteringVector ()
 
G4EmSaturation * EmSaturation ()
 
G4EmConfigurator * EmConfigurator ()
 
G4ElectronIonPair * ElectronIonPair ()
 
G4EmCorrections * EmCorrections ()
 
G4VAtomDeexcitation * AtomDeexcitation ()
 
G4VSubCutProducer * SubCutProducer ()
 
G4LossTableBuilder * GetTableBuilder ()
 

Static Public Member Functions

static G4LossTableManager * Instance ()
 

Private Types

typedef const
G4ParticleDefinition * 
PD
 

Private Member Functions

 G4LossTableManager ()
 
void ResetParameters ()
 
G4VEnergyLossProcess * BuildTables (const G4ParticleDefinition *aParticle)
 
void CopyTables (const G4ParticleDefinition *aParticle, G4VEnergyLossProcess *)
 
void ParticleHaveNoLoss (const G4ParticleDefinition *aParticle)
 
void CopyDEDXTables ()
 
void PrintEWarning (G4String, G4double)
 
 G4LossTableManager (G4LossTableManager &)=delete
 
G4LossTableManager & operator= (const G4LossTableManager &right)=delete
 

Private Attributes

std::map< PD,
G4VEnergyLossProcess
*, std::less< PD > > 
loss_map
 
std::vector
< G4VEnergyLossProcess * > 
loss_vector
 
std::vector< PD > part_vector
 
std::vector< PD > base_part_vector
 
std::vector< G4bool > tables_are_built
 
std::vector< G4bool > isActive
 
std::vector< G4PhysicsTable * > dedx_vector
 
std::vector< G4PhysicsTable * > range_vector
 
std::vector< G4PhysicsTable * > inv_range_vector
 
std::vector
< G4VMultipleScattering * > 
msc_vector
 
std::vector< G4VEmProcess * > emp_vector
 
std::vector< G4VEmModel * > mod_vector
 
std::vector
< G4VEmFluctuationModel * > 
fmod_vector
 
G4VEnergyLossProcess * currentLoss
 
PD currentParticle
 
PD theElectron
 
PD theGenericIon
 
PD firstParticle
 
G4int n_loss
 
G4int run
 
G4bool all_tables_are_built
 
G4bool startInitialisation
 
G4bool isMaster
 
G4LossTableBuilder * tableBuilder
 
G4EmCorrections * emCorrections
 
G4EmConfigurator * emConfigurator
 
G4ElectronIonPair * emElectronIonPair
 
G4VAtomDeexcitation * atomDeexcitation
 
G4VSubCutProducer * subcutProducer
 
G4EmParameters * theParameters
 
G4int verbose
 

Static Private Attributes

static G4ThreadLocal
G4LossTableManager * 
instance = nullptr
 

Friends

class G4ThreadLocalSingleton< G4LossTableManager >
 

Detailed Description

Definition at line 100 of file G4LossTableManager.hh.

Member Typedef Documentation

Definition at line 266 of file G4LossTableManager.hh.

Constructor & Destructor Documentation

G4LossTableManager::~G4LossTableManager ( )

Definition at line 123 of file G4LossTableManager.cc.

References a, atomDeexcitation, Clear(), emConfigurator, emCorrections, emElectronIonPair, emp_vector, fmod_vector, loss_vector, mod_vector, msc_vector, n_loss, subcutProducer, and tableBuilder.

+ Here is the call graph for this function:

G4LossTableManager::G4LossTableManager ( )
private
G4LossTableManager::G4LossTableManager ( G4LossTableManager &  )
privatedelete

Member Function Documentation

G4VAtomDeexcitation * G4LossTableManager::AtomDeexcitation ( )
inline

Definition at line 444 of file G4LossTableManager.hh.

References atomDeexcitation.

Referenced by G4EmModelActivator::ActivateEmOptions(), G4VEnergyLossProcess::BuildPhysicsTable(), G4RadioactiveDecay::BuildPhysicsTable(), G4EmCalculator::ComputeShellIonisationCrossSectionPerAtom(), DMXPhysicsList::ConstructEM(), G4RadioactiveDecayPhysics::ConstructProcess(), G4ECDecay::DecayIt(), G4ITDecay::DecayIt(), G4EmCalculator::GetShellIonisationCrossSectionPerAtom(), G4LivermorePolarizedPhotoElectricGDModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4LivermorePolarizedPhotoElectricModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4KleinNishinaModel::Initialise(), G4PEEffectFluoModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4MicroElecInelasticModel::Initialise(), G4MuElecInelasticModel::Initialise(), G4PenelopeIonisationModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LowEPPolarizedComptonModel::Initialise(), and G4VEmProcess::PreparePhysicsTable().

+ Here is the caller graph for this function:

void G4LossTableManager::BuildPhysicsTable ( const G4ParticleDefinition *  aParticle)

Definition at line 499 of file G4LossTableManager.cc.

References G4EmConfigurator::Clear(), emConfigurator, run, and startInitialisation.

Referenced by G4VMultipleScattering::BuildPhysicsTable(), and G4VEnergyLossProcess::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEnergyLossProcess * G4LossTableManager::BuildTables ( const G4ParticleDefinition *  aParticle)
private

Definition at line 738 of file G4LossTableManager.cc.

References G4VEnergyLossProcess::AddCollaborativeProcess(), G4EmParameters::BuildCSDARange(), G4LossTableBuilder::BuildDEDXTable(), G4VEnergyLossProcess::BuildDEDXTable(), G4LossTableBuilder::BuildInverseRangeTable(), G4VEnergyLossProcess::BuildLambdaTable(), G4LossTableBuilder::BuildRangeTable(), G4VEnergyLossProcess::CSDARangeTable(), dedx_vector, G4VEnergyLossProcess::DEDXTable(), G4VEnergyLossProcess::DEDXunRestrictedTable(), fIsIonisation, fIsSubIonisation, fRestricted, fSubRestricted, fTotal, G4cout, G4endl, G4VSubCutProducer::GetName(), G4ParticleDefinition::GetParticleName(), G4ProcessManager::GetProcessList(), G4ParticleDefinition::GetProcessManager(), G4VProcess::GetProcessName(), inv_range_vector, G4VEnergyLossProcess::InverseRangeTable(), G4VEnergyLossProcess::IonisationTableForSubsec(), isActive, G4VEnergyLossProcess::IsIonisationProcess(), loss_vector, n_loss, G4VEnergyLossProcess::NumberOfSubCutoffRegions(), part_vector, G4PhysicsTableHelper::PreparePhysicsTable(), G4PhysicsTable::push_back(), range_vector, G4VEnergyLossProcess::RangeTableForLoss(), G4VEnergyLossProcess::SetCSDARangeTable(), G4VEnergyLossProcess::SetDEDXTable(), G4VEnergyLossProcess::SetInverseRangeTable(), G4VEnergyLossProcess::SetIonisation(), G4VEnergyLossProcess::SetLambdaTable(), G4VEnergyLossProcess::SetRangeTableForLoss(), G4VEnergyLossProcess::SetSubLambdaTable(), G4ProcessVector::size(), subcutProducer, tableBuilder, tables_are_built, theParameters, and verbose.

Referenced by BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LossTableManager::Clear ( )

Definition at line 198 of file G4LossTableManager.cc.

References all_tables_are_built, base_part_vector, currentLoss, currentParticle, dedx_vector, inv_range_vector, isActive, loss_map, loss_vector, n_loss, part_vector, range_vector, and tables_are_built.

Referenced by ~G4LossTableManager().

+ Here is the caller graph for this function:

void G4LossTableManager::CopyDEDXTables ( )
private
void G4LossTableManager::CopyTables ( const G4ParticleDefinition *  aParticle,
G4VEnergyLossProcess *  base_proc 
)
private
void G4LossTableManager::DeRegister ( G4VEnergyLossProcess *  p)

Definition at line 263 of file G4LossTableManager.cc.

References loss_vector, and n_loss.

Referenced by G4VEmFluctuationModel::~G4VEmFluctuationModel(), G4VEmModel::~G4VEmModel(), G4VEmProcess::~G4VEmProcess(), G4VEnergyLossProcess::~G4VEnergyLossProcess(), and G4VMultipleScattering::~G4VMultipleScattering().

+ Here is the caller graph for this function:

void G4LossTableManager::DeRegister ( G4VMultipleScattering *  p)

Definition at line 289 of file G4LossTableManager.cc.

References msc_vector.

void G4LossTableManager::DeRegister ( G4VEmProcess *  p)

Definition at line 316 of file G4LossTableManager.cc.

References emp_vector.

void G4LossTableManager::DeRegister ( G4VEmModel *  p)

Definition at line 338 of file G4LossTableManager.cc.

References mod_vector, and n.

void G4LossTableManager::DeRegister ( G4VEmFluctuationModel *  p)

Definition at line 363 of file G4LossTableManager.cc.

References fmod_vector, and n.

G4ElectronIonPair * G4LossTableManager::ElectronIonPair ( )

Definition at line 980 of file G4LossTableManager.cc.

References emElectronIonPair, and verbose.

G4EmConfigurator * G4LossTableManager::EmConfigurator ( )
G4EmCorrections * G4LossTableManager::EmCorrections ( )
inline
G4EmSaturation * G4LossTableManager::EmSaturation ( )

Definition at line 965 of file G4LossTableManager.cc.

References G4EmParameters::GetEmSaturation(), and theParameters.

Referenced by OpNovicePhysicsList::ConstructOp(), WLSOpticalPhysics::ConstructProcess(), and G4OpticalPhysics::ConstructProcess().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4LossTableManager::GetCSDARange ( const G4ParticleDefinition *  aParticle,
G4double  kineticEnergy,
const G4MaterialCutsCouple *  couple 
)
inline

Definition at line 361 of file G4LossTableManager.hh.

References currentLoss, currentParticle, DBL_MAX, G4VEnergyLossProcess::GetCSDARange(), and GetEnergyLossProcess().

Referenced by G4EmCalculator::GetCSDARange().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4LossTableManager::GetDEDX ( const G4ParticleDefinition *  aParticle,
G4double  kineticEnergy,
const G4MaterialCutsCouple *  couple 
)
inline

Definition at line 335 of file G4LossTableManager.hh.

References currentLoss, currentParticle, G4VEnergyLossProcess::GetDEDX(), and GetEnergyLossProcess().

Referenced by G4EmCalculator::GetDEDX(), G4EnergyLossTables::GetDEDX(), G4EnergyLossTables::GetPreciseDEDX(), G4EnergyLossTables::GetPreciseRangeFromEnergy(), and G4Cerenkov::PostStepGetPhysicalInteractionLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4LossTableManager::GetDEDXDispersion ( const G4MaterialCutsCouple *  couple,
const G4DynamicParticle *  dp,
G4double &  length 
)
inline

Definition at line 416 of file G4LossTableManager.hh.

References currentLoss, currentParticle, G4VEnergyLossProcess::GetDEDXDispersion(), GetEnergyLossProcess(), and G4DynamicParticle::GetParticleDefinition().

+ Here is the call graph for this function:

const std::vector< G4VEmProcess * > & G4LossTableManager::GetEmProcessVector ( )

Definition at line 950 of file G4LossTableManager.cc.

References emp_vector.

Referenced by G4EmCalculator::FindDiscreteProcess().

+ Here is the caller graph for this function:

G4double G4LossTableManager::GetEnergy ( const G4ParticleDefinition *  aParticle,
G4double  range,
const G4MaterialCutsCouple *  couple 
)
inline

Definition at line 403 of file G4LossTableManager.hh.

References currentLoss, currentParticle, GetEnergyLossProcess(), and G4VEnergyLossProcess::GetKineticEnergy().

Referenced by G4EmCalculator::GetKinEnergy(), and G4EnergyLossTables::GetPreciseEnergyFromRange().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEnergyLossProcess * G4LossTableManager::GetEnergyLossProcess ( const G4ParticleDefinition *  aParticle)
inline

Definition at line 313 of file G4LossTableManager.hh.

References currentLoss, currentParticle, loss_map, pos, and theGenericIon.

Referenced by G4EmBiasingManager::ApplyRangeCut(), G4EmCalculator::FindEnergyLossProcess(), GetCSDARange(), GetDEDX(), GetDEDXDispersion(), GetEnergy(), GetRange(), GetRangeFromRestricteDEDX(), GetSubDEDX(), and G4VMultipleScattering::StartTracking().

+ Here is the caller graph for this function:

const std::vector< G4VEnergyLossProcess * > & G4LossTableManager::GetEnergyLossProcessVector ( )

Definition at line 943 of file G4LossTableManager.cc.

References loss_vector.

Referenced by G4EmModelActivator::ActivatePAI(), G4EmCalculator::ComputeDEDXForCutInRange(), G4EmCalculator::ComputeElectronicDEDX(), and G4EmCalculator::FindEnLossProcess().

+ Here is the caller graph for this function:

const std::vector< G4VMultipleScattering * > & G4LossTableManager::GetMultipleScatteringVector ( )

Definition at line 958 of file G4LossTableManager.cc.

References msc_vector.

Referenced by G4EmCalculator::FindMscProcess().

+ Here is the caller graph for this function:

G4double G4LossTableManager::GetRange ( const G4ParticleDefinition *  aParticle,
G4double  kineticEnergy,
const G4MaterialCutsCouple *  couple 
)
inline

Definition at line 388 of file G4LossTableManager.hh.

References currentLoss, currentParticle, DBL_MAX, GetEnergyLossProcess(), and G4VEnergyLossProcess::GetRange().

Referenced by G4SteppingManager::ApplyProductionCut(), G4ITStepProcessor::ApplyProductionCut(), PhysicsList::GetRange(), G4EnergyLossTables::GetRange(), DMXMinEkineCuts::PostStepGetPhysicalInteractionLength(), G4UserSpecialCuts::PostStepGetPhysicalInteractionLength(), G4Cerenkov::PostStepGetPhysicalInteractionLength(), and G4EmSaturation::VisibleEnergyDeposition().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4LossTableManager::GetRangeFromRestricteDEDX ( const G4ParticleDefinition *  aParticle,
G4double  kineticEnergy,
const G4MaterialCutsCouple *  couple 
)
inline

Definition at line 374 of file G4LossTableManager.hh.

References currentLoss, currentParticle, DBL_MAX, GetEnergyLossProcess(), and G4VEnergyLossProcess::GetRangeForLoss().

Referenced by G4EmCalculator::GetRangeFromRestricteDEDX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4LossTableManager::GetSubDEDX ( const G4ParticleDefinition *  aParticle,
G4double  kineticEnergy,
const G4MaterialCutsCouple *  couple 
)
inline

Definition at line 348 of file G4LossTableManager.hh.

References currentLoss, currentParticle, G4VEnergyLossProcess::GetDEDXForSubsec(), and GetEnergyLossProcess().

+ Here is the call graph for this function:

G4LossTableManager * G4LossTableManager::Instance ( void  )
static

Definition at line 112 of file G4LossTableManager.cc.

References G4ThreadLocalSingleton< T >::Instance(), and instance.

Referenced by G4EmModelActivator::ActivateEmOptions(), G4EmModelActivator::ActivateMicroElec(), G4EmModelActivator::ActivatePAI(), G4EmDNAPhysicsActivator::AddElectronModels0(), G4EmDNAPhysicsActivator::AddGenericIonModels0(), G4EmDNAPhysicsActivator::AddHeliumModels0(), PhysicsList::AddIonGasModels(), G4EmDNAPhysicsActivator::AddProtonModels0(), G4SteppingManager::ApplyProductionCut(), G4ITStepProcessor::ApplyProductionCut(), G4EmBiasingManager::ApplyRangeCut(), G4VMultipleScattering::BuildPhysicsTable(), G4RadioactiveDecay::BuildPhysicsTable(), G4EmCalculator::ComputeDEDXForCutInRange(), G4EmCalculator::ComputeElectronicDEDX(), PhysicsList::ConstructEM(), DMXPhysicsList::ConstructEM(), OpNovicePhysicsList::ConstructOp(), G4EmDNAPhysics_option3::ConstructProcess(), G4EmLowEPPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), G4EmDNAPhysics_option2::ConstructProcess(), G4EmDNAPhysics_option1::ConstructProcess(), G4EmDNAPhysics_option4::ConstructProcess(), G4EmDNAPhysics_option7::ConstructProcess(), G4EmDNAPhysics_option5::ConstructProcess(), ExExChPhysListEmStandardSS::ConstructProcess(), G4RadioactiveDecayPhysics::ConstructProcess(), EmStandardPhysics::ConstructProcess(), PhysListEmStandardNR::ConstructProcess(), WLSOpticalPhysics::ConstructProcess(), G4EmStandardPhysicsSS::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysicsGS::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysicsWVI::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4OpticalPhysics::ConstructProcess(), G4ECDecay::DecayIt(), G4ITDecay::DecayIt(), F04PhysicsList::F04PhysicsList(), G4BetheBlochModel::G4BetheBlochModel(), G4BraggModel::G4BraggModel(), G4EmCalculator::G4EmCalculator(), G4GoudsmitSaundersonMscModel::G4GoudsmitSaundersonMscModel(), G4ionIonisation::G4ionIonisation(), G4IonParametrisedLossModel::G4IonParametrisedLossModel(), G4MuBetheBlochModel::G4MuBetheBlochModel(), G4UAtomicDeexcitation::G4UAtomicDeexcitation(), G4UrbanAdjointMscModel::G4UrbanAdjointMscModel(), G4UrbanMscModel::G4UrbanMscModel(), G4UserSpecialCuts::G4UserSpecialCuts(), G4VEmFluctuationModel::G4VEmFluctuationModel(), G4VEmModel::G4VEmModel(), G4VEmProcess::G4VEmProcess(), G4VEnergyLossProcess::G4VEnergyLossProcess(), G4VMultipleScattering::G4VMultipleScattering(), G4WentzelVIRelModel::G4WentzelVIRelModel(), GammaKnifePhysicsList::GammaKnifePhysicsList(), GammaRayTelPhysicsList::GammaRayTelPhysicsList(), G4EnergyLossTables::GetDEDX(), G4VMscModel::GetParticleChangeForMSC(), G4EnergyLossTables::GetPreciseDEDX(), G4EnergyLossTables::GetPreciseEnergyFromRange(), G4EnergyLossTables::GetPreciseRangeFromEnergy(), PhysicsList::GetRange(), G4EnergyLossTables::GetRange(), HadrontherapyPhysicsList::HadrontherapyPhysicsList(), G4LivermorePolarizedPhotoElectricGDModel::Initialise(), G4DNARuddIonisationModel::Initialise(), G4DNARuddIonisationExtendedModel::Initialise(), G4LivermoreComptonModel::Initialise(), G4DNABornIonisationModel1::Initialise(), G4DNABornIonisationModel2::Initialise(), G4LivermoreComptonModifiedModel::Initialise(), G4LivermorePolarizedPhotoElectricModel::Initialise(), G4LivermorePhotoElectricModel::Initialise(), G4LivermorePolarizedComptonModel::Initialise(), G4DNAEmfietzoglouIonisationModel::Initialise(), G4KleinNishinaModel::Initialise(), G4PEEffectFluoModel::Initialise(), G4PenelopePhotoElectricModel::Initialise(), G4PenelopeComptonModel::Initialise(), G4MicroElecInelasticModel::Initialise(), G4MuElecInelasticModel::Initialise(), G4PenelopeIonisationModel::Initialise(), G4BraggIonModel::Initialise(), G4LowEPComptonModel::Initialise(), G4LowEPPolarizedComptonModel::Initialise(), IORTPhysicsList::IORTPhysicsList(), ML2PhysicsList::ML2PhysicsList(), PhysicsList::PhysicsList(), PhysListEmStandardNR::PhysListEmStandardNR(), DMXMinEkineCuts::PostStepGetPhysicalInteractionLength(), G4Cerenkov::PostStepGetPhysicalInteractionLength(), G4ContinuousGainOfEnergy::SetDynamicMassCharge(), UltraPhysicsList::UltraPhysicsList(), G4EmSaturation::VisibleEnergyDeposition(), WLSPhysicsList::WLSPhysicsList(), and XrayFluoPhysicsList::XrayFluoPhysicsList().

+ Here is the call graph for this function:

G4bool G4LossTableManager::IsMaster ( ) const
inline

Definition at line 430 of file G4LossTableManager.hh.

References isMaster.

Referenced by G4VMultipleScattering::BuildPhysicsTable(), and G4VEmProcess::~G4VEmProcess().

+ Here is the caller graph for this function:

void G4LossTableManager::LocalPhysicsTables ( const G4ParticleDefinition *  aParticle,
G4VEnergyLossProcess *  p 
)

Definition at line 508 of file G4LossTableManager.cc.

References all_tables_are_built, base_part_vector, G4VEnergyLossProcess::BaseParticle(), G4EmConfigurator::Clear(), currentParticle, dedx_vector, G4VEnergyLossProcess::DEDXTable(), emConfigurator, firstParticle, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), inv_range_vector, G4VEnergyLossProcess::InverseRangeTable(), isActive, G4VEnergyLossProcess::IsIonisationProcess(), loss_map, loss_vector, n_loss, part_vector, G4VEnergyLossProcess::Particle(), range_vector, G4VEnergyLossProcess::RangeTableForLoss(), run, startInitialisation, tables_are_built, and verbose.

Referenced by G4VEnergyLossProcess::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4LossTableManager& G4LossTableManager::operator= ( const G4LossTableManager &  right)
privatedelete
void G4LossTableManager::ParticleHaveNoLoss ( const G4ParticleDefinition *  aParticle)
private

Definition at line 923 of file G4LossTableManager.cc.

References FatalException, G4Exception(), and G4ParticleDefinition::GetParticleName().

+ Here is the call graph for this function:

void G4LossTableManager::PreparePhysicsTable ( const G4ParticleDefinition *  aParticle,
G4VEnergyLossProcess *  p,
G4bool  theMaster 
)

Definition at line 400 of file G4LossTableManager.cc.

References emConfigurator, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), isMaster, loss_vector, n_loss, part_vector, G4EmConfigurator::PrepareModels(), ResetParameters(), run, startInitialisation, theGenericIon, and verbose.

Referenced by G4VMultipleScattering::PreparePhysicsTable(), G4VEmProcess::PreparePhysicsTable(), and G4VEnergyLossProcess::PreparePhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LossTableManager::PreparePhysicsTable ( const G4ParticleDefinition *  aParticle,
G4VEmProcess *  p,
G4bool  theMaster 
)

Definition at line 441 of file G4LossTableManager.cc.

References emConfigurator, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), isMaster, G4EmConfigurator::PrepareModels(), ResetParameters(), run, startInitialisation, and verbose.

+ Here is the call graph for this function:

void G4LossTableManager::PreparePhysicsTable ( const G4ParticleDefinition *  aParticle,
G4VMultipleScattering *  p,
G4bool  theMaster 
)

Definition at line 469 of file G4LossTableManager.cc.

References emConfigurator, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), isMaster, G4EmConfigurator::PrepareModels(), ResetParameters(), run, startInitialisation, and verbose.

+ Here is the call graph for this function:

void G4LossTableManager::PrintEWarning ( G4String  tit,
G4double   
)
private

Definition at line 1010 of file G4LossTableManager.cc.

References G4Exception(), and JustWarning.

+ Here is the call graph for this function:

void G4LossTableManager::Register ( G4VEnergyLossProcess *  p)

Definition at line 220 of file G4LossTableManager.cc.

References all_tables_are_built, base_part_vector, dedx_vector, G4cout, G4endl, G4VProcess::GetProcessName(), inv_range_vector, isActive, loss_vector, n_loss, part_vector, range_vector, tables_are_built, and verbose.

Referenced by G4VEmFluctuationModel::G4VEmFluctuationModel(), G4VEmModel::G4VEmModel(), G4VEmProcess::G4VEmProcess(), G4VEnergyLossProcess::G4VEnergyLossProcess(), and G4VMultipleScattering::G4VMultipleScattering().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LossTableManager::Register ( G4VMultipleScattering *  p)

Definition at line 273 of file G4LossTableManager.cc.

References G4cout, G4endl, G4VProcess::GetProcessName(), msc_vector, n, and verbose.

+ Here is the call graph for this function:

void G4LossTableManager::Register ( G4VEmProcess *  p)

Definition at line 300 of file G4LossTableManager.cc.

References emp_vector, G4cout, G4endl, G4VProcess::GetProcessName(), n, and verbose.

+ Here is the call graph for this function:

void G4LossTableManager::Register ( G4VEmModel *  p)

Definition at line 327 of file G4LossTableManager.cc.

References G4cout, G4endl, G4VEmModel::GetName(), mod_vector, and verbose.

+ Here is the call graph for this function:

void G4LossTableManager::Register ( G4VEmFluctuationModel *  p)

Definition at line 352 of file G4LossTableManager.cc.

References fmod_vector, G4cout, G4endl, G4VEmFluctuationModel::GetName(), and verbose.

+ Here is the call graph for this function:

void G4LossTableManager::RegisterExtraParticle ( const G4ParticleDefinition *  aParticle,
G4VEnergyLossProcess *  p 
)

Definition at line 373 of file G4LossTableManager.cc.

References all_tables_are_built, base_part_vector, G4VEnergyLossProcess::BaseParticle(), dedx_vector, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), inv_range_vector, loss_vector, n_loss, part_vector, range_vector, tables_are_built, and verbose.

Referenced by G4VEnergyLossProcess::PreparePhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LossTableManager::ResetParameters ( )
private

Definition at line 244 of file G4LossTableManager.cc.

References atomDeexcitation, emConfigurator, emCorrections, emElectronIonPair, G4VAtomDeexcitation::InitialiseAtomicDeexcitation(), isMaster, G4LossTableBuilder::SetInitialisationFlag(), G4LossTableBuilder::SetSplineFlag(), G4EmConfigurator::SetVerbose(), G4ElectronIonPair::SetVerbose(), G4EmCorrections::SetVerbose(), G4VAtomDeexcitation::SetVerboseLevel(), G4EmParameters::Spline(), tableBuilder, theParameters, G4EmParameters::Verbose(), verbose, and G4EmParameters::WorkerVerbose().

Referenced by PreparePhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LossTableManager::SetSubCutProducer ( G4VSubCutProducer *  p)

Definition at line 1000 of file G4LossTableManager.cc.

References subcutProducer.

void G4LossTableManager::SetVerbose ( G4int  val)

Definition at line 935 of file G4LossTableManager.cc.

References verbose.

Referenced by XrayFluoPhysicsList::XrayFluoPhysicsList().

+ Here is the caller graph for this function:

G4VSubCutProducer * G4LossTableManager::SubCutProducer ( )
inline

Definition at line 451 of file G4LossTableManager.hh.

References subcutProducer.

Referenced by G4VEnergyLossProcess::BuildPhysicsTable(), and G4VEnergyLossProcess::PreparePhysicsTable().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

Definition at line 103 of file G4LossTableManager.hh.

Member Data Documentation

G4bool G4LossTableManager::all_tables_are_built
private
G4VAtomDeexcitation* G4LossTableManager::atomDeexcitation
private
std::vector<PD> G4LossTableManager::base_part_vector
private
std::vector<G4PhysicsTable*> G4LossTableManager::dedx_vector
private
G4EmCorrections* G4LossTableManager::emCorrections
private
G4ElectronIonPair* G4LossTableManager::emElectronIonPair
private
std::vector<G4VEmProcess*> G4LossTableManager::emp_vector
private
PD G4LossTableManager::firstParticle
private
std::vector<G4VEmFluctuationModel*> G4LossTableManager::fmod_vector
private

Definition at line 281 of file G4LossTableManager.hh.

Referenced by DeRegister(), Register(), and ~G4LossTableManager().

G4ThreadLocal G4LossTableManager * G4LossTableManager::instance = nullptr
staticprivate

Definition at line 264 of file G4LossTableManager.hh.

Referenced by Instance().

std::vector<G4PhysicsTable*> G4LossTableManager::inv_range_vector
private
std::vector<G4bool> G4LossTableManager::isActive
private
G4bool G4LossTableManager::isMaster
private
std::map<PD,G4VEnergyLossProcess*,std::less<PD> > G4LossTableManager::loss_map
private
std::vector<G4VEmModel*> G4LossTableManager::mod_vector
private

Definition at line 280 of file G4LossTableManager.hh.

Referenced by DeRegister(), Register(), and ~G4LossTableManager().

std::vector<G4VMultipleScattering*> G4LossTableManager::msc_vector
private
std::vector<PD> G4LossTableManager::part_vector
private
std::vector<G4PhysicsTable*> G4LossTableManager::range_vector
private
G4int G4LossTableManager::run
private
G4bool G4LossTableManager::startInitialisation
private
G4VSubCutProducer* G4LossTableManager::subcutProducer
private
G4LossTableBuilder* G4LossTableManager::tableBuilder
private
std::vector<G4bool> G4LossTableManager::tables_are_built
private
PD G4LossTableManager::theElectron
private

Definition at line 286 of file G4LossTableManager.hh.

Referenced by CopyTables(), and G4LossTableManager().

PD G4LossTableManager::theGenericIon
private
G4EmParameters* G4LossTableManager::theParameters
private

The documentation for this class was generated from the following files: