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
 
G4VEnergyLossProcessGetEnergyLossProcess (const G4ParticleDefinition *)
 
const std::vector
< G4VEnergyLossProcess * > & 
GetEnergyLossProcessVector ()
 
const std::vector
< G4VEmProcess * > & 
GetEmProcessVector ()
 
const std::vector
< G4VMultipleScattering * > & 
GetMultipleScatteringVector ()
 
G4EmSaturationEmSaturation ()
 
G4EmConfiguratorEmConfigurator ()
 
G4ElectronIonPairElectronIonPair ()
 
G4EmCorrectionsEmCorrections ()
 
G4VAtomDeexcitationAtomDeexcitation ()
 
G4VSubCutProducerSubCutProducer ()
 
G4LossTableBuilderGetTableBuilder ()
 

Static Public Member Functions

static G4LossTableManagerInstance ()
 

Private Types

typedef const
G4ParticleDefinition
PD
 

Private Member Functions

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

Private Attributes

std::map< PD,
G4VEnergyLossProcess
*, std::less< PD > > 
loss_map
 
std::vector
< G4VEnergyLossProcess * > 
loss_vector
 
std::vector< PDpart_vector
 
std::vector< PDbase_part_vector
 
std::vector< G4booltables_are_built
 
std::vector< G4boolisActive
 
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
 
G4VEnergyLossProcesscurrentLoss
 
PD currentParticle
 
PD theElectron
 
PD theGenericIon
 
PD firstParticle
 
G4int n_loss
 
G4int run
 
G4bool all_tables_are_built
 
G4bool startInitialisation
 
G4bool isMaster
 
G4LossTableBuildertableBuilder
 
G4EmCorrectionsemCorrections
 
G4EmConfiguratoremConfigurator
 
G4ElectronIonPairemElectronIonPair
 
G4VAtomDeexcitationatomDeexcitation
 
G4VSubCutProducersubcutProducer
 
G4EmParameterstheParameters
 
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: