Geant4  10.03
G4EmCalculator Class Reference

#include <G4EmCalculator.hh>

+ Inheritance diagram for G4EmCalculator:
+ Collaboration diagram for G4EmCalculator:

Public Member Functions

 G4EmCalculator ()
 
 ~G4EmCalculator ()
 
G4double GetDEDX (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
 
G4double GetDEDX (G4double kinEnergy, const G4String &part, const G4String &mat, const G4String &s="world")
 
G4double GetRangeFromRestricteDEDX (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
 
G4double GetRangeFromRestricteDEDX (G4double kinEnergy, const G4String &part, const G4String &mat, const G4String &s="world")
 
G4double GetCSDARange (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
 
G4double GetCSDARange (G4double kinEnergy, const G4String &part, const G4String &mat, const G4String &s="world")
 
G4double GetRange (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
 
G4double GetRange (G4double kinEnergy, const G4String &part, const G4String &mat, const G4String &s="world")
 
G4double GetKinEnergy (G4double range, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
 
G4double GetKinEnergy (G4double range, const G4String &part, const G4String &mat, const G4String &s="world")
 
G4double GetCrossSectionPerVolume (G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, const G4Material *, const G4Region *r=nullptr)
 
G4double GetCrossSectionPerVolume (G4double kinEnergy, const G4String &part, const G4String &proc, const G4String &mat, const G4String &s="world")
 
G4double GetShellIonisationCrossSectionPerAtom (const G4String &part, G4int Z, G4AtomicShellEnumerator shell, G4double kinEnergy)
 
G4double GetMeanFreePath (G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, const G4Material *, const G4Region *r=nullptr)
 
G4double GetMeanFreePath (G4double kinEnergy, const G4String &part, const G4String &proc, const G4String &mat, const G4String &s="world")
 
void PrintDEDXTable (const G4ParticleDefinition *)
 
void PrintRangeTable (const G4ParticleDefinition *)
 
void PrintInverseRangeTable (const G4ParticleDefinition *)
 
G4double ComputeDEDX (G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, const G4Material *, G4double cut=DBL_MAX)
 
G4double ComputeDEDX (G4double kinEnergy, const G4String &part, const G4String &proc, const G4String &mat, G4double cut=DBL_MAX)
 
G4double ComputeElectronicDEDX (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *mat, G4double cut=DBL_MAX)
 
G4double ComputeElectronicDEDX (G4double kinEnergy, const G4String &part, const G4String &mat, G4double cut=DBL_MAX)
 
G4double ComputeDEDXForCutInRange (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *mat, G4double rangecut=DBL_MAX)
 
G4double ComputeDEDXForCutInRange (G4double kinEnergy, const G4String &part, const G4String &mat, G4double rangecut=DBL_MAX)
 
G4double ComputeNuclearDEDX (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *)
 
G4double ComputeNuclearDEDX (G4double kinEnergy, const G4String &part, const G4String &mat)
 
G4double ComputeTotalDEDX (G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, G4double cut=DBL_MAX)
 
G4double ComputeTotalDEDX (G4double kinEnergy, const G4String &part, const G4String &mat, G4double cut=DBL_MAX)
 
G4double ComputeCrossSectionPerVolume (G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, const G4Material *, G4double cut=0.0)
 
G4double ComputeCrossSectionPerVolume (G4double kinEnergy, const G4String &part, const G4String &proc, const G4String &mat, G4double cut=0.0)
 
G4double ComputeCrossSectionPerAtom (G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, G4double Z, G4double A, G4double cut=0.0)
 
G4double ComputeCrossSectionPerAtom (G4double kinEnergy, const G4String &part, const G4String &processName, const G4Element *, G4double cut=0.0)
 
G4double ComputeCrossSectionPerShell (G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, G4int Z, G4int shellIdx, G4double cut=0.0)
 
G4double ComputeCrossSectionPerShell (G4double kinEnergy, const G4String &part, const G4String &processName, const G4Element *, G4int shellIdx, G4double cut=0.0)
 
G4double ComputeGammaAttenuationLength (G4double kinEnergy, const G4Material *)
 
G4double ComputeShellIonisationCrossSectionPerAtom (const G4String &part, G4int Z, G4AtomicShellEnumerator shell, G4double kinEnergy, const G4Material *mat=nullptr)
 
G4double ComputeMeanFreePath (G4double kinEnergy, const G4ParticleDefinition *, const G4String &processName, const G4Material *, G4double cut=0.0)
 
G4double ComputeMeanFreePath (G4double kinEnergy, const G4String &, const G4String &, const G4String &processName, G4double cut=0.0)
 
G4double ComputeEnergyCutFromRangeCut (G4double range, const G4ParticleDefinition *, const G4Material *)
 
G4double ComputeEnergyCutFromRangeCut (G4double range, const G4String &, const G4String &)
 
const G4ParticleDefinition * FindParticle (const G4String &)
 
const G4ParticleDefinition * FindIon (G4int Z, G4int A)
 
const G4Material * FindMaterial (const G4String &)
 
const G4Region * FindRegion (const G4String &)
 
const G4MaterialCutsCouple * FindCouple (const G4Material *, const G4Region *r=nullptr)
 
G4VProcess * FindProcess (const G4ParticleDefinition *part, const G4String &processName)
 
void SetupMaterial (const G4Material *)
 
void SetupMaterial (const G4String &)
 
void SetVerbose (G4int val)
 

Private Member Functions

G4bool UpdateParticle (const G4ParticleDefinition *, G4double kinEnergy)
 
G4bool UpdateCouple (const G4Material *, G4double cut)
 
void FindLambdaTable (const G4ParticleDefinition *, const G4String &processName, G4double kinEnergy)
 
G4bool FindEmModel (const G4ParticleDefinition *, const G4String &processName, G4double kinEnergy)
 
G4VEnergyLossProcess * FindEnergyLossProcess (const G4ParticleDefinition *)
 
G4VEnergyLossProcess * FindEnLossProcess (const G4ParticleDefinition *, const G4String &processName)
 
G4VEmProcess * FindDiscreteProcess (const G4ParticleDefinition *, const G4String &processName)
 
G4VMultipleScattering * FindMscProcess (const G4ParticleDefinition *, const G4String &processName)
 
G4bool ActiveForParticle (const G4ParticleDefinition *part, G4VProcess *proc)
 
void CheckMaterial (G4int Z)
 
G4EmCalculator & operator= (const G4EmCalculator &right)=delete
 
 G4EmCalculator (const G4EmCalculator &)=delete
 

Private Attributes

std::vector< const G4Material * > localMaterials
 
std::vector< const
G4MaterialCutsCouple * > 
localCouples
 
G4EmParameters * theParameters
 
G4LossTableManager * manager
 
G4NistManager * nist
 
G4IonTable * ionTable
 
G4EmCorrections * corr
 
G4DataVector localCuts
 
G4int nLocalMaterials
 
G4int verbose
 
G4int currentCoupleIndex
 
const G4MaterialCutsCouple * currentCouple
 
const G4Material * currentMaterial
 
const G4Material * cutMaterial
 
const G4ParticleDefinition * currentParticle
 
const G4ParticleDefinition * lambdaParticle
 
const G4ParticleDefinition * baseParticle
 
const G4PhysicsTable * currentLambda
 
G4VEmModel * currentModel
 
G4VEmModel * loweModel
 
G4VEnergyLossProcess * currentProcess
 
const G4ParticleDefinition * theGenericIon
 
G4ionEffectiveCharge * ionEffCharge
 
G4DynamicParticle dynParticle
 
G4String currentName
 
G4String lambdaName
 
G4double currentCut
 
G4double chargeSquare
 
G4double massRatio
 
G4double mass
 
G4double cutenergy [3]
 
G4bool isIon
 
G4bool isApplicable
 
G4String currentParticleName
 
G4String currentMaterialName
 
G4String currentProcessName
 

Detailed Description

Definition at line 82 of file G4EmCalculator.hh.

Constructor & Destructor Documentation

G4EmCalculator::~G4EmCalculator ( )

Definition at line 129 of file G4EmCalculator.cc.

References ionEffCharge, localCouples, and nLocalMaterials.

G4EmCalculator::G4EmCalculator ( const G4EmCalculator &  )
privatedelete

Member Function Documentation

G4bool G4EmCalculator::ActiveForParticle ( const G4ParticleDefinition *  part,
G4VProcess *  proc 
)
private

Definition at line 1235 of file G4EmCalculator.cc.

References G4ProcessManager::GetProcessActivation(), G4ProcessManager::GetProcessList(), G4ParticleDefinition::GetProcessManager(), n, and G4ProcessVector::size().

Referenced by ComputeDEDXForCutInRange(), ComputeElectronicDEDX(), FindDiscreteProcess(), FindEnLossProcess(), and FindMscProcess().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmCalculator::CheckMaterial ( G4int  Z)
private

Definition at line 1273 of file G4EmCalculator.cc.

References currentMaterial, G4NistManager::FindOrBuildSimpleMaterial(), G4Material::GetElement(), G4Material::GetNumberOfElements(), G4Element::GetZasInt(), nist, G4InuclParticleNames::nn, and SetupMaterial().

Referenced by ComputeCrossSectionPerAtom(), and ComputeCrossSectionPerShell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeCrossSectionPerAtom ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4String &  processName,
G4double  Z,
G4double  A,
G4double  cut = 0.0 
)

Definition at line 635 of file G4EmCalculator.cc.

References barn, baseParticle, chargeSquare, CheckMaterial(), G4VEmModel::ComputeCrossSectionPerAtom(), currentModel, FindEmModel(), g, G4cout, G4endl, G4lrint(), G4ParticleDefinition::GetParticleName(), G4VEmModel::InitialiseForElement(), keV, G4EmParameters::LowestElectronEnergy(), massRatio, G4INCL::Math::max(), MeV, mole, theParameters, UpdateParticle(), and verbose.

Referenced by RunAction::BeginOfRunAction(), and ComputeCrossSectionPerAtom().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeCrossSectionPerAtom ( G4double  kinEnergy,
const G4String &  part,
const G4String &  processName,
const G4Element *  elm,
G4double  cut = 0.0 
)
inline

Definition at line 511 of file G4EmCalculator.hh.

References ComputeCrossSectionPerAtom(), FindParticle(), G4Element::GetN(), and G4Element::GetZ().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeCrossSectionPerShell ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4String &  processName,
G4int  Z,
G4int  shellIdx,
G4double  cut = 0.0 
)

Definition at line 673 of file G4EmCalculator.cc.

References barn, baseParticle, chargeSquare, CheckMaterial(), G4VEmModel::ComputeCrossSectionPerAtom(), G4VEmModel::ComputeCrossSectionPerShell(), currentModel, FindEmModel(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VEmModel::InitialiseForElement(), keV, G4EmParameters::LowestElectronEnergy(), massRatio, G4INCL::Math::max(), MeV, theParameters, UpdateParticle(), and verbose.

Referenced by ComputeCrossSectionPerShell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeCrossSectionPerShell ( G4double  kinEnergy,
const G4String &  part,
const G4String &  processName,
const G4Element *  elm,
G4int  shellIdx,
G4double  cut = 0.0 
)
inline

Definition at line 524 of file G4EmCalculator.hh.

References ComputeCrossSectionPerShell(), FindParticle(), and G4Element::GetZasInt().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeCrossSectionPerVolume ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4String &  processName,
const G4Material *  mat,
G4double  cut = 0.0 
)

Definition at line 600 of file G4EmCalculator.cc.

References baseParticle, chargeSquare, cm, G4VEmModel::CrossSectionPerVolume(), currentModel, FindEmModel(), G4cout, G4endl, G4Material::GetName(), G4ParticleDefinition::GetParticleName(), keV, G4EmParameters::LowestElectronEnergy(), massRatio, G4INCL::Math::max(), MeV, SetupMaterial(), theParameters, UpdateParticle(), and verbose.

Referenced by RunAction::BeginOfRunAction(), ComputeCrossSectionPerVolume(), ComputeGammaAttenuationLength(), ComputeMeanFreePath(), and GetCrossSectionPerVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeCrossSectionPerVolume ( G4double  kinEnergy,
const G4String &  part,
const G4String &  proc,
const G4String &  mat,
G4double  cut = 0.0 
)
inline

Definition at line 496 of file G4EmCalculator.hh.

References ComputeCrossSectionPerVolume(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeDEDX ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4String &  processName,
const G4Material *  mat,
G4double  cut = DBL_MAX 
)

Definition at line 375 of file G4EmCalculator.cc.

References baseParticle, chargeSquare, cm2, G4VEmModel::ComputeDEDXPerVolume(), G4VEmModel::CorrectionsAlongStep(), currentMaterialName, currentModel, dynParticle, FindCouple(), FindEmModel(), G4cout, G4endl, G4VEmModel::GetChargeSquareRatio(), G4Material::GetDensity(), G4VEmModel::GetName(), G4ParticleDefinition::GetParticleName(), gram, isIon, loweModel, G4VEmModel::LowEnergyLimit(), massRatio, MeV, mm, nm, G4DynamicParticle::SetKineticEnergy(), SetupMaterial(), UpdateParticle(), and verbose.

Referenced by RunAction::BeginOfRunAction(), ComputeDEDX(), ComputeDEDXForCutInRange(), ComputeElectronicDEDX(), and RunAction::CriticalEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeDEDX ( G4double  kinEnergy,
const G4String &  part,
const G4String &  proc,
const G4String &  mat,
G4double  cut = DBL_MAX 
)
inline

Definition at line 472 of file G4EmCalculator.hh.

References ComputeDEDX(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeDEDXForCutInRange ( G4double  kinEnergy,
const G4ParticleDefinition *  part,
const G4Material *  mat,
G4double  rangecut = DBL_MAX 
)

Definition at line 523 of file G4EmCalculator.cc.

References ActiveForParticle(), ComputeDEDX(), ComputeEnergyCutFromRangeCut(), cutenergy, cutMaterial, G4Electron::Electron(), G4Gamma::Gamma(), G4LossTableManager::GetEnergyLossProcessVector(), G4LossTableManager::Instance(), n, G4Positron::Positron(), SetupMaterial(), and UpdateParticle().

Referenced by ComputeDEDXForCutInRange().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeDEDXForCutInRange ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat,
G4double  rangecut = DBL_MAX 
)
inline

Definition at line 449 of file G4EmCalculator.hh.

References ComputeDEDXForCutInRange(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeElectronicDEDX ( G4double  kinEnergy,
const G4ParticleDefinition *  part,
const G4Material *  mat,
G4double  cut = DBL_MAX 
)

Definition at line 490 of file G4EmCalculator.cc.

References ActiveForParticle(), ComputeDEDX(), G4LossTableManager::GetEnergyLossProcessVector(), G4LossTableManager::Instance(), n, SetupMaterial(), and UpdateParticle().

Referenced by ComputeElectronicDEDX(), and ComputeTotalDEDX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeElectronicDEDX ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat,
G4double  cut = DBL_MAX 
)
inline

Definition at line 439 of file G4EmCalculator.hh.

References ComputeElectronicDEDX(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeEnergyCutFromRangeCut ( G4double  range,
const G4ParticleDefinition *  part,
const G4Material *  mat 
)

Definition at line 765 of file G4EmCalculator.cc.

References G4ProductionCutsTable::GetProductionCutsTable().

Referenced by ComputeDEDXForCutInRange(), and ComputeEnergyCutFromRangeCut().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeEnergyCutFromRangeCut ( G4double  range,
const G4String &  particle,
const G4String &  material 
)
inline

Definition at line 537 of file G4EmCalculator.hh.

References ComputeEnergyCutFromRangeCut(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeGammaAttenuationLength ( G4double  kinEnergy,
const G4Material *  mat 
)

Definition at line 710 of file G4EmCalculator.cc.

References ComputeCrossSectionPerVolume(), and G4Gamma::Gamma().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeMeanFreePath ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4String &  processName,
const G4Material *  mat,
G4double  cut = 0.0 
)

Definition at line 744 of file G4EmCalculator.cc.

References ComputeCrossSectionPerVolume(), DBL_MAX, G4cout, G4endl, G4Material::GetName(), G4ParticleDefinition::GetParticleName(), MeV, mm, and verbose.

Referenced by ComputeMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeMeanFreePath ( G4double  kinEnergy,
const G4String &  particle,
const G4String &  processName,
const G4String &  processName,
G4double  cut = 0.0 
)
inline

Definition at line 549 of file G4EmCalculator.hh.

References ComputeMeanFreePath(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeNuclearDEDX ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4Material *  mat 
)

Definition at line 581 of file G4EmCalculator.cc.

References cm2, corr, G4cout, G4endl, G4Material::GetDensity(), G4ParticleDefinition::GetParticleName(), gram, MeV, mm, G4EmCorrections::NuclearDEDX(), and verbose.

Referenced by ComputeNuclearDEDX(), and ComputeTotalDEDX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeNuclearDEDX ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat 
)
inline

Definition at line 485 of file G4EmCalculator.hh.

References ComputeNuclearDEDX(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeShellIonisationCrossSectionPerAtom ( const G4String &  part,
G4int  Z,
G4AtomicShellEnumerator  shell,
G4double  kinEnergy,
const G4Material *  mat = nullptr 
)

Definition at line 725 of file G4EmCalculator.cc.

References G4LossTableManager::AtomDeexcitation(), G4VAtomDeexcitation::ComputeShellIonisationCrossSectionPerAtom(), FindParticle(), and manager.

+ Here is the call graph for this function:

G4double G4EmCalculator::ComputeTotalDEDX ( G4double  kinEnergy,
const G4ParticleDefinition *  part,
const G4Material *  mat,
G4double  cut = DBL_MAX 
)

Definition at line 569 of file G4EmCalculator.cc.

References ComputeElectronicDEDX(), ComputeNuclearDEDX(), mass, and MeV.

Referenced by ComputeTotalDEDX(), RunAction::GetEnergyFromCSDARange(), HadrontherapyInteractionParameters::GetStopping(), IORTInteractionParameters::GetStopping(), HadrontherapyInteractionParameters::GetStoppingTable(), and IORTInteractionParameters::GetStoppingTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::ComputeTotalDEDX ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat,
G4double  cut = DBL_MAX 
)
inline

Definition at line 461 of file G4EmCalculator.hh.

References ComputeTotalDEDX(), FindMaterial(), and FindParticle().

+ Here is the call graph for this function:

const G4MaterialCutsCouple * G4EmCalculator::FindCouple ( const G4Material *  material,
const G4Region *  r = nullptr 
)

Definition at line 896 of file G4EmCalculator.cc.

References currentMaterial, currentMaterialName, FatalException, G4Exception(), G4RegionStore::GetInstance(), G4ProductionCutsTable::GetMaterialCutsCouple(), G4Region::GetName(), G4Region::GetProductionCuts(), G4ProductionCutsTable::GetProductionCutsTable(), and SetupMaterial().

Referenced by ComputeDEDX(), export_G4EmCalculator(), GetCrossSectionPerVolume(), GetCSDARange(), GetDEDX(), GetKinEnergy(), and GetRangeFromRestricteDEDX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEmProcess * G4EmCalculator::FindDiscreteProcess ( const G4ParticleDefinition *  part,
const G4String &  processName 
)
private

Definition at line 1173 of file G4EmCalculator.cc.

References ActiveForParticle(), G4LossTableManager::GetEmProcessVector(), manager, and n.

Referenced by FindEmModel(), and FindLambdaTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4EmCalculator::FindEmModel ( const G4ParticleDefinition *  p,
const G4String &  processName,
G4double  kinEnergy 
)
private
G4VEnergyLossProcess * G4EmCalculator::FindEnergyLossProcess ( const G4ParticleDefinition *  p)
private

Definition at line 1122 of file G4EmCalculator.cc.

References currentParticleName, G4LossTableManager::GetEnergyLossProcess(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetParticleType(), manager, and theGenericIon.

Referenced by PrintDEDXTable(), PrintInverseRangeTable(), PrintRangeTable(), and UpdateParticle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEnergyLossProcess * G4EmCalculator::FindEnLossProcess ( const G4ParticleDefinition *  part,
const G4String &  processName 
)
private

Definition at line 1151 of file G4EmCalculator.cc.

References ActiveForParticle(), G4LossTableManager::GetEnergyLossProcessVector(), manager, and n.

Referenced by FindEmModel(), and FindLambdaTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4ParticleDefinition * G4EmCalculator::FindIon ( G4int  Z,
G4int  A 
)

Definition at line 861 of file G4EmCalculator.cc.

References G4IonTable::GetIon(), and ionTable.

+ Here is the call graph for this function:

void G4EmCalculator::FindLambdaTable ( const G4ParticleDefinition *  p,
const G4String &  processName,
G4double  kinEnergy 
)
private

Definition at line 960 of file G4EmCalculator.cc.

References currentLambda, currentModel, currentName, FindDiscreteProcess(), FindEnLossProcess(), FindMscProcess(), G4cout, G4endl, G4VEmModel::GetCrossSectionTable(), isApplicable, isIon, lambdaName, lambdaParticle, G4VEmProcess::LambdaTable(), G4VEnergyLossProcess::LambdaTable(), loweModel, G4VMultipleScattering::SelectModel(), theGenericIon, and verbose.

Referenced by GetCrossSectionPerVolume().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4Material * G4EmCalculator::FindMaterial ( const G4String &  name)

Definition at line 869 of file G4EmCalculator.cc.

References currentMaterial, currentMaterialName, G4cout, G4endl, G4Material::GetMaterial(), and SetupMaterial().

Referenced by ComputeCrossSectionPerVolume(), ComputeDEDX(), ComputeDEDXForCutInRange(), ComputeElectronicDEDX(), ComputeEnergyCutFromRangeCut(), ComputeMeanFreePath(), ComputeNuclearDEDX(), ComputeTotalDEDX(), export_G4EmCalculator(), GetCrossSectionPerVolume(), GetCSDARange(), GetDEDX(), GetKinEnergy(), GetMeanFreePath(), GetRange(), and GetRangeFromRestricteDEDX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VMultipleScattering * G4EmCalculator::FindMscProcess ( const G4ParticleDefinition *  part,
const G4String &  processName 
)
private

Definition at line 1195 of file G4EmCalculator.cc.

References ActiveForParticle(), G4LossTableManager::GetMultipleScatteringVector(), manager, and n.

Referenced by FindEmModel(), and FindLambdaTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VProcess * G4EmCalculator::FindProcess ( const G4ParticleDefinition *  part,
const G4String &  processName 
)

Definition at line 1216 of file G4EmCalculator.cc.

References G4ProcessManager::GetProcessList(), G4ParticleDefinition::GetProcessManager(), and G4ProcessVector::size().

+ Here is the call graph for this function:

const G4Region * G4EmCalculator::FindRegion ( const G4String &  reg)

Definition at line 883 of file G4EmCalculator.cc.

References G4RegionStore::GetInstance(), and G4RegionStore::GetRegion().

Referenced by export_G4EmCalculator(), GetCrossSectionPerVolume(), GetCSDARange(), GetDEDX(), GetKinEnergy(), GetMeanFreePath(), GetRange(), and GetRangeFromRestricteDEDX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetCrossSectionPerVolume ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4String &  processName,
const G4Material *  mat,
const G4Region *  r = nullptr 
)

Definition at line 272 of file G4EmCalculator.cc.

References chargeSquare, cm, ComputeCrossSectionPerVolume(), currentLambda, FindCouple(), FindLambdaTable(), G4cout, G4endl, G4MaterialCutsCouple::GetIndex(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), massRatio, MeV, UpdateParticle(), and verbose.

Referenced by RunAction::BeginOfRunAction(), GetCrossSectionPerVolume(), and GetMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetCrossSectionPerVolume ( G4double  kinEnergy,
const G4String &  part,
const G4String &  proc,
const G4String &  mat,
const G4String &  s = "world" 
)
inline

Definition at line 413 of file G4EmCalculator.hh.

References FindMaterial(), FindParticle(), FindRegion(), and GetCrossSectionPerVolume().

+ Here is the call graph for this function:

G4double G4EmCalculator::GetCSDARange ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4Material *  mat,
const G4Region *  r = nullptr 
)

Definition at line 203 of file G4EmCalculator.cc.

References G4EmParameters::BuildCSDARange(), FindCouple(), G4cout, G4endl, G4Exception(), G4LossTableManager::GetCSDARange(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), JustWarning, manager, MeV, mm, theParameters, UpdateParticle(), and verbose.

Referenced by RunAction::BeginOfRunAction(), GetCSDARange(), RunAction::GetEnergyFromCSDARange(), GetRange(), and Run::Run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetCSDARange ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat,
const G4String &  s = "world" 
)
inline

Definition at line 379 of file G4EmCalculator.hh.

References FindMaterial(), FindParticle(), FindRegion(), and GetCSDARange().

+ Here is the call graph for this function:

G4double G4EmCalculator::GetDEDX ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4Material *  mat,
const G4Region *  r = nullptr 
)

Definition at line 139 of file G4EmCalculator.cc.

References cm2, G4VEmModel::CorrectionsAlongStep(), currentModel, currentProcessName, dynParticle, FindCouple(), FindEmModel(), G4cout, G4endl, G4VEmModel::GetChargeSquareRatio(), G4LossTableManager::GetDEDX(), G4Material::GetDensity(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), gram, isIon, manager, MeV, mm, nm, G4DynamicParticle::SetKineticEnergy(), UpdateParticle(), and verbose.

Referenced by RunAction::BeginOfRunAction(), GetDEDX(), RunAction::GetEnergyFromRestrictedRange(), Run::Run(), and G4EnergySplitter::SplitEnergyInVolumes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetDEDX ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat,
const G4String &  s = "world" 
)
inline

Definition at line 357 of file G4EmCalculator.hh.

References FindMaterial(), FindParticle(), FindRegion(), and GetDEDX().

+ Here is the call graph for this function:

G4double G4EmCalculator::GetKinEnergy ( G4double  range,
const G4ParticleDefinition *  p,
const G4Material *  mat,
const G4Region *  r = nullptr 
)

Definition at line 250 of file G4EmCalculator.cc.

References FindCouple(), G4cout, G4endl, G4LossTableManager::GetEnergy(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), GeV, manager, MeV, mm, UpdateParticle(), and verbose.

Referenced by GetKinEnergy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetKinEnergy ( G4double  range,
const G4String &  part,
const G4String &  mat,
const G4String &  s = "world" 
)
inline

Definition at line 403 of file G4EmCalculator.hh.

References FindMaterial(), FindParticle(), FindRegion(), and GetKinEnergy().

+ Here is the call graph for this function:

G4double G4EmCalculator::GetMeanFreePath ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4String &  processName,
const G4Material *  mat,
const G4Region *  r = nullptr 
)

Definition at line 326 of file G4EmCalculator.cc.

References DBL_MAX, G4cout, G4endl, GetCrossSectionPerVolume(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), MeV, mm, and verbose.

Referenced by RunAction::BeginOfRunAction(), and GetMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetMeanFreePath ( G4double  kinEnergy,
const G4String &  part,
const G4String &  proc,
const G4String &  mat,
const G4String &  s = "world" 
)
inline

Definition at line 426 of file G4EmCalculator.hh.

References FindMaterial(), FindParticle(), FindRegion(), and GetMeanFreePath().

+ Here is the call graph for this function:

G4double G4EmCalculator::GetRange ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4Material *  mat,
const G4Region *  r = nullptr 
)

Definition at line 234 of file G4EmCalculator.cc.

References G4EmParameters::BuildCSDARange(), GetCSDARange(), GetRangeFromRestricteDEDX(), and theParameters.

Referenced by GetRange().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetRange ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat,
const G4String &  s = "world" 
)
inline

Definition at line 391 of file G4EmCalculator.hh.

References FindMaterial(), FindParticle(), FindRegion(), and GetRange().

+ Here is the call graph for this function:

G4double G4EmCalculator::GetRangeFromRestricteDEDX ( G4double  kinEnergy,
const G4ParticleDefinition *  p,
const G4Material *  mat,
const G4Region *  r = nullptr 
)

Definition at line 180 of file G4EmCalculator.cc.

References FindCouple(), G4cout, G4endl, G4Material::GetName(), G4ParticleDefinition::GetParticleName(), G4LossTableManager::GetRangeFromRestricteDEDX(), manager, MeV, mm, UpdateParticle(), and verbose.

Referenced by RunAction::BeginOfRunAction(), RunAction::GetEnergyFromRestrictedRange(), GetRange(), and GetRangeFromRestricteDEDX().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4EmCalculator::GetRangeFromRestricteDEDX ( G4double  kinEnergy,
const G4String &  part,
const G4String &  mat,
const G4String &  s = "world" 
)
inline

Definition at line 367 of file G4EmCalculator.hh.

References FindMaterial(), FindParticle(), FindRegion(), and GetRangeFromRestricteDEDX().

+ Here is the call graph for this function:

G4double G4EmCalculator::GetShellIonisationCrossSectionPerAtom ( const G4String &  part,
G4int  Z,
G4AtomicShellEnumerator  shell,
G4double  kinEnergy 
)

Definition at line 309 of file G4EmCalculator.cc.

References G4LossTableManager::AtomDeexcitation(), FindParticle(), G4VAtomDeexcitation::GetShellIonisationCrossSectionPerAtom(), and manager.

+ Here is the call graph for this function:

G4EmCalculator& G4EmCalculator::operator= ( const G4EmCalculator &  right)
privatedelete
void G4EmCalculator::PrintDEDXTable ( const G4ParticleDefinition *  p)

Definition at line 347 of file G4EmCalculator.cc.

References G4VEnergyLossProcess::DEDXTable(), FindEnergyLossProcess(), G4cout, G4endl, and G4ParticleDefinition::GetParticleName().

Referenced by export_G4EmCalculator().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmCalculator::PrintInverseRangeTable ( const G4ParticleDefinition *  p)

Definition at line 365 of file G4EmCalculator.cc.

References FindEnergyLossProcess(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), and G4VEnergyLossProcess::InverseRangeTable().

Referenced by export_G4EmCalculator().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmCalculator::PrintRangeTable ( const G4ParticleDefinition *  p)

Definition at line 356 of file G4EmCalculator.cc.

References FindEnergyLossProcess(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), and G4VEnergyLossProcess::RangeTableForLoss().

Referenced by export_G4EmCalculator().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmCalculator::SetupMaterial ( const G4Material *  mat)

Definition at line 1253 of file G4EmCalculator.cc.

References currentMaterial, currentMaterialName, and G4Material::GetName().

Referenced by CheckMaterial(), ComputeCrossSectionPerVolume(), ComputeDEDX(), ComputeDEDXForCutInRange(), ComputeElectronicDEDX(), FindCouple(), FindMaterial(), SetupMaterial(), and UpdateCouple().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4EmCalculator::SetupMaterial ( const G4String &  mname)

Definition at line 1266 of file G4EmCalculator.cc.

References G4NistManager::FindOrBuildMaterial(), nist, and SetupMaterial().

+ Here is the call graph for this function:

void G4EmCalculator::SetVerbose ( G4int  val)

Definition at line 1292 of file G4EmCalculator.cc.

References verbose.

Referenced by export_G4EmCalculator().

+ Here is the caller graph for this function:

G4bool G4EmCalculator::UpdateCouple ( const G4Material *  material,
G4double  cut 
)
private

Definition at line 935 of file G4EmCalculator.cc.

References currentCouple, currentCoupleIndex, currentCut, currentMaterial, G4MaterialCutsCouple::GetIndex(), localCouples, localCuts, localMaterials, nLocalMaterials, and SetupMaterial().

+ Here is the call graph for this function:

Member Data Documentation

G4EmCorrections* G4EmCalculator::corr
private

Definition at line 315 of file G4EmCalculator.hh.

Referenced by ComputeNuclearDEDX(), G4EmCalculator(), and UpdateParticle().

const G4MaterialCutsCouple* G4EmCalculator::currentCouple
private

Definition at line 323 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateCouple().

G4int G4EmCalculator::currentCoupleIndex
private

Definition at line 322 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateCouple().

G4double G4EmCalculator::currentCut
private

Definition at line 340 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateCouple().

const G4PhysicsTable* G4EmCalculator::currentLambda
private

Definition at line 329 of file G4EmCalculator.hh.

Referenced by FindLambdaTable(), G4EmCalculator(), and GetCrossSectionPerVolume().

const G4Material* G4EmCalculator::currentMaterial
private
G4String G4EmCalculator::currentMaterialName
private
G4String G4EmCalculator::currentName
private

Definition at line 338 of file G4EmCalculator.hh.

Referenced by FindEmModel(), FindLambdaTable(), and G4EmCalculator().

const G4ParticleDefinition* G4EmCalculator::currentParticle
private

Definition at line 326 of file G4EmCalculator.hh.

Referenced by FindParticle(), G4EmCalculator(), and UpdateParticle().

G4String G4EmCalculator::currentParticleName
private
G4VEnergyLossProcess* G4EmCalculator::currentProcess
private

Definition at line 332 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateParticle().

G4String G4EmCalculator::currentProcessName
private

Definition at line 350 of file G4EmCalculator.hh.

Referenced by GetDEDX(), and UpdateParticle().

G4double G4EmCalculator::cutenergy[3]
private

Definition at line 344 of file G4EmCalculator.hh.

Referenced by ComputeDEDXForCutInRange(), and G4EmCalculator().

const G4Material* G4EmCalculator::cutMaterial
private

Definition at line 325 of file G4EmCalculator.hh.

Referenced by ComputeDEDXForCutInRange(), and G4EmCalculator().

G4DynamicParticle G4EmCalculator::dynParticle
private

Definition at line 336 of file G4EmCalculator.hh.

Referenced by ComputeDEDX(), GetDEDX(), and UpdateParticle().

G4ionEffectiveCharge* G4EmCalculator::ionEffCharge
private

Definition at line 335 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and ~G4EmCalculator().

G4IonTable* G4EmCalculator::ionTable
private

Definition at line 314 of file G4EmCalculator.hh.

Referenced by FindIon(), and G4EmCalculator().

G4bool G4EmCalculator::isApplicable
private

Definition at line 346 of file G4EmCalculator.hh.

Referenced by FindEmModel(), FindLambdaTable(), and G4EmCalculator().

G4bool G4EmCalculator::isIon
private
G4String G4EmCalculator::lambdaName
private

Definition at line 339 of file G4EmCalculator.hh.

Referenced by FindLambdaTable(), and G4EmCalculator().

const G4ParticleDefinition* G4EmCalculator::lambdaParticle
private

Definition at line 327 of file G4EmCalculator.hh.

Referenced by FindLambdaTable(), and G4EmCalculator().

std::vector<const G4MaterialCutsCouple*> G4EmCalculator::localCouples
private

Definition at line 309 of file G4EmCalculator.hh.

Referenced by UpdateCouple(), and ~G4EmCalculator().

G4DataVector G4EmCalculator::localCuts
private

Definition at line 316 of file G4EmCalculator.hh.

Referenced by UpdateCouple().

std::vector<const G4Material*> G4EmCalculator::localMaterials
private

Definition at line 308 of file G4EmCalculator.hh.

Referenced by UpdateCouple().

G4VEmModel* G4EmCalculator::loweModel
private

Definition at line 331 of file G4EmCalculator.hh.

Referenced by ComputeDEDX(), FindEmModel(), FindLambdaTable(), and G4EmCalculator().

G4double G4EmCalculator::mass
private

Definition at line 343 of file G4EmCalculator.hh.

Referenced by ComputeTotalDEDX(), G4EmCalculator(), and UpdateParticle().

G4NistManager* G4EmCalculator::nist
private

Definition at line 313 of file G4EmCalculator.hh.

Referenced by CheckMaterial(), G4EmCalculator(), and SetupMaterial().

G4int G4EmCalculator::nLocalMaterials
private

Definition at line 317 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), UpdateCouple(), and ~G4EmCalculator().

const G4ParticleDefinition* G4EmCalculator::theGenericIon
private

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