Geant4  10.02
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=0)
 
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=0)
 
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=0)
 
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=0)
 
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=0)
 
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=0)
 
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=0)
 
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=0)
 
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 G4ParticleDefinitionFindParticle (const G4String &)
 
const G4ParticleDefinitionFindIon (G4int Z, G4int A)
 
const G4MaterialFindMaterial (const G4String &)
 
const G4RegionFindRegion (const G4String &)
 
const G4MaterialCutsCoupleFindCouple (const G4Material *, const G4Region *r=0)
 
G4VProcessFindProcess (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)
 
G4VEnergyLossProcessFindEnergyLossProcess (const G4ParticleDefinition *)
 
G4VEnergyLossProcessFindEnLossProcess (const G4ParticleDefinition *, const G4String &processName)
 
G4VEmProcessFindDiscreteProcess (const G4ParticleDefinition *, const G4String &processName)
 
G4VMultipleScatteringFindMscProcess (const G4ParticleDefinition *, const G4String &processName)
 
G4bool ActiveForParticle (const G4ParticleDefinition *part, G4VProcess *proc)
 
void CheckMaterial (G4int Z)
 
G4EmCalculatoroperator= (const G4EmCalculator &right)
 
 G4EmCalculator (const G4EmCalculator &)
 

Private Attributes

std::vector< const G4Material * > localMaterials
 
std::vector< const
G4MaterialCutsCouple * > 
localCouples
 
G4LossTableManagermanager
 
G4NistManagernist
 
G4IonTableionTable
 
G4EmCorrectionscorr
 
G4DataVector localCuts
 
G4int nLocalMaterials
 
G4int verbose
 
G4int currentCoupleIndex
 
const G4MaterialCutsCouplecurrentCouple
 
const G4MaterialcurrentMaterial
 
const G4MaterialcutMaterial
 
const G4ParticleDefinitioncurrentParticle
 
const G4ParticleDefinitionlambdaParticle
 
const G4ParticleDefinitionbaseParticle
 
const G4PhysicsTablecurrentLambda
 
G4VEmModelcurrentModel
 
G4VEmModelloweModel
 
G4VEnergyLossProcesscurrentProcess
 
const G4ParticleDefinitiontheGenericIon
 
G4ionEffectiveChargeionEffCharge
 
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 81 of file G4EmCalculator.hh.

Constructor & Destructor Documentation

G4EmCalculator::~G4EmCalculator ( )

Definition at line 127 of file G4EmCalculator.cc.

References ionEffCharge, localCouples, and nLocalMaterials.

G4EmCalculator::G4EmCalculator ( const G4EmCalculator )
private

Member Function Documentation

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

Definition at line 1219 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 1257 of file G4EmCalculator.cc.

References currentMaterial, G4NistManager::FindOrBuildSimpleMaterial(), G4lrint(), G4Material::GetElement(), G4Material::GetNumberOfElements(), G4Element::GetZ(), 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 637 of file G4EmCalculator.cc.

References barn, baseParticle, chargeSquare, CheckMaterial(), G4VEmModel::ComputeCrossSectionPerAtom(), currentModel, FindEmModel(), g, G4cout, G4endl, G4lrint(), G4ParticleDefinition::GetParticleName(), G4VEmModel::InitialiseForElement(), massRatio, MeV, mole, 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 508 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 672 of file G4EmCalculator.cc.

References barn, baseParticle, chargeSquare, CheckMaterial(), G4VEmModel::ComputeCrossSectionPerAtom(), G4VEmModel::ComputeCrossSectionPerShell(), currentModel, FindEmModel(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VEmModel::InitialiseForElement(), massRatio, MeV, 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 521 of file G4EmCalculator.hh.

References ComputeCrossSectionPerShell(), FindParticle(), G4lrint(), and G4Element::GetZ().

+ 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 603 of file G4EmCalculator.cc.

References baseParticle, chargeSquare, cm, G4VEmModel::CrossSectionPerVolume(), currentModel, FindEmModel(), G4cout, G4endl, G4Material::GetName(), G4ParticleDefinition::GetParticleName(), keV, massRatio, MeV, SetupMaterial(), 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 493 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 378 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 469 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 526 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 446 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 493 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 436 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 761 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 534 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 706 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 740 of file G4EmCalculator.cc.

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

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 546 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 584 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 482 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 = 0 
)

Definition at line 721 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 572 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 458 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 = 0 
)

Definition at line 887 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(), GetRange(), 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 1157 of file G4EmCalculator.cc.

References ActiveForParticle(), G4LossTableManager::GetEmProcessVector(), G4LossTableManager::Instance(), 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 1113 of file G4EmCalculator.cc.

References currentParticleName, G4LossTableManager::GetEnergyLossProcess(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetParticleType(), G4LossTableManager::Instance(), 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 1135 of file G4EmCalculator.cc.

References ActiveForParticle(), G4LossTableManager::GetEnergyLossProcessVector(), G4LossTableManager::Instance(), 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 852 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 951 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 860 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 1179 of file G4EmCalculator.cc.

References ActiveForParticle(), G4LossTableManager::GetMultipleScatteringVector(), G4LossTableManager::Instance(), 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 1200 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 874 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 = 0 
)

Definition at line 275 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 410 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 = 0 
)

Definition at line 200 of file G4EmCalculator.cc.

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

Referenced by RunAction::BeginOfRunAction(), GetCSDARange(), RunAction::GetEnergyFromCSDARange(), 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 376 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 = 0 
)

Definition at line 137 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 354 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 = 0 
)

Definition at line 253 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 400 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 = 0 
)

Definition at line 329 of file G4EmCalculator.cc.

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

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 423 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 = 0 
)

Definition at line 231 of file G4EmCalculator.cc.

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

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 388 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 = 0 
)

Definition at line 178 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(), 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 364 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 312 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)
private
void G4EmCalculator::PrintDEDXTable ( const G4ParticleDefinition p)

Definition at line 350 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 368 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 359 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 1237 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 1250 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 1276 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 926 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 312 of file G4EmCalculator.hh.

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

const G4MaterialCutsCouple* G4EmCalculator::currentCouple
private

Definition at line 320 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateCouple().

G4int G4EmCalculator::currentCoupleIndex
private

Definition at line 319 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateCouple().

G4double G4EmCalculator::currentCut
private

Definition at line 337 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateCouple().

const G4PhysicsTable* G4EmCalculator::currentLambda
private

Definition at line 326 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 335 of file G4EmCalculator.hh.

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

const G4ParticleDefinition* G4EmCalculator::currentParticle
private

Definition at line 323 of file G4EmCalculator.hh.

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

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

Definition at line 329 of file G4EmCalculator.hh.

Referenced by G4EmCalculator(), and UpdateParticle().

G4String G4EmCalculator::currentProcessName
private

Definition at line 347 of file G4EmCalculator.hh.

Referenced by GetDEDX(), and UpdateParticle().

G4double G4EmCalculator::cutenergy[3]
private

Definition at line 341 of file G4EmCalculator.hh.

Referenced by ComputeDEDXForCutInRange(), and G4EmCalculator().

const G4Material* G4EmCalculator::cutMaterial
private

Definition at line 322 of file G4EmCalculator.hh.

Referenced by ComputeDEDXForCutInRange(), and G4EmCalculator().

G4DynamicParticle G4EmCalculator::dynParticle
private

Definition at line 333 of file G4EmCalculator.hh.

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

G4ionEffectiveCharge* G4EmCalculator::ionEffCharge
private

Definition at line 332 of file G4EmCalculator.hh.

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

G4IonTable* G4EmCalculator::ionTable
private

Definition at line 311 of file G4EmCalculator.hh.

Referenced by FindIon(), and G4EmCalculator().

G4bool G4EmCalculator::isApplicable
private

Definition at line 343 of file G4EmCalculator.hh.

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

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

Definition at line 336 of file G4EmCalculator.hh.

Referenced by FindLambdaTable(), and G4EmCalculator().

const G4ParticleDefinition* G4EmCalculator::lambdaParticle
private

Definition at line 324 of file G4EmCalculator.hh.

Referenced by FindLambdaTable(), and G4EmCalculator().

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

Definition at line 307 of file G4EmCalculator.hh.

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

G4DataVector G4EmCalculator::localCuts
private

Definition at line 313 of file G4EmCalculator.hh.

Referenced by UpdateCouple().

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

Definition at line 306 of file G4EmCalculator.hh.

Referenced by UpdateCouple().

G4VEmModel* G4EmCalculator::loweModel
private

Definition at line 328 of file G4EmCalculator.hh.

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

G4double G4EmCalculator::mass
private

Definition at line 340 of file G4EmCalculator.hh.

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

G4NistManager* G4EmCalculator::nist
private

Definition at line 310 of file G4EmCalculator.hh.

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

G4int G4EmCalculator::nLocalMaterials
private

Definition at line 314 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: