Geant4  10.00.p03
G4VEmProcess Class Referenceabstract

#include <G4VEmProcess.hh>

+ Inheritance diagram for G4VEmProcess:
+ Collaboration diagram for G4VEmProcess:

Public Member Functions

 G4VEmProcess (const G4String &name, G4ProcessType type=fElectromagnetic)
 
virtual ~G4VEmProcess ()
 
virtual G4bool IsApplicable (const G4ParticleDefinition &p)=0
 
virtual void PrintInfo ()=0
 
void PreparePhysicsTable (const G4ParticleDefinition &)
 
void BuildPhysicsTable (const G4ParticleDefinition &)
 
void StartTracking (G4Track *)
 
G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
G4VParticleChangePostStepDoIt (const G4Track &, const G4Step &)
 
G4bool StorePhysicsTable (const G4ParticleDefinition *, const G4String &directory, G4bool ascii=false)
 
G4bool RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &directory, G4bool ascii)
 
G4double CrossSectionPerVolume (G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4double ComputeCrossSectionPerAtom (G4double kineticEnergy, G4double Z, G4double A=0., G4double cut=0.0)
 
G4double MeanFreePath (const G4Track &track)
 
G4double GetLambda (G4double &kinEnergy, const G4MaterialCutsCouple *couple)
 
void SetLambdaBinning (G4int nbins)
 
G4int LambdaBinning () const
 
void SetMinKinEnergy (G4double e)
 
G4double MinKinEnergy () const
 
void SetMaxKinEnergy (G4double e)
 
G4double MaxKinEnergy () const
 
void SetMinKinEnergyPrim (G4double e)
 
G4PhysicsTableLambdaTable () const
 
G4PhysicsTableLambdaTablePrim () const
 
const G4ParticleDefinitionParticle () const
 
const G4ParticleDefinitionSecondaryParticle () const
 
G4VEmModelSelectModelForMaterial (G4double kinEnergy, size_t &idxRegion) const
 
void AddEmModel (G4int, G4VEmModel *, const G4Region *region=0)
 
G4VEmModelEmModel (G4int index=1) const
 
void SetEmModel (G4VEmModel *, G4int index=1)
 
void UpdateEmModel (const G4String &, G4double, G4double)
 
G4VEmModelGetModelByIndex (G4int idx=0, G4bool ver=false) const
 
const G4ElementGetCurrentElement () const
 
void SetCrossSectionBiasingFactor (G4double f, G4bool flag=true)
 
G4double CrossSectionBiasingFactor () const
 
void ActivateForcedInteraction (G4double length=0.0, const G4String &r="", G4bool flag=true)
 
void ActivateSecondaryBiasing (const G4String &region, G4double factor, G4double energyLimit)
 
void SetPolarAngleLimit (G4double a)
 
G4double PolarAngleLimit () const
 
void SetLambdaFactor (G4double val)
 
void SetIntegral (G4bool val)
 
G4bool IsIntegral () const
 
void SetApplyCuts (G4bool val)
 
void SetBuildTableFlag (G4bool val)
 
- Public Member Functions inherited from G4VDiscreteProcess
 G4VDiscreteProcess (const G4String &, G4ProcessType aType=fNotDefined)
 
 G4VDiscreteProcess (G4VDiscreteProcess &)
 
virtual ~G4VDiscreteProcess ()
 
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &, G4double, G4double, G4double &, G4GPILSelection *)
 
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *)
 
virtual G4VParticleChangeAtRestDoIt (const G4Track &, const G4Step &)
 
virtual G4VParticleChangeAlongStepDoIt (const G4Track &, const G4Step &)
 
- Public Member Functions inherited from G4VProcess
 G4VProcess (const G4String &aName="NoName", G4ProcessType aType=fNotDefined)
 
 G4VProcess (const G4VProcess &right)
 
virtual ~G4VProcess ()
 
G4int operator== (const G4VProcess &right) const
 
G4int operator!= (const G4VProcess &right) const
 
G4double GetCurrentInteractionLength () const
 
void SetPILfactor (G4double value)
 
G4double GetPILfactor () const
 
G4double AlongStepGPIL (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)
 
G4double AtRestGPIL (const G4Track &track, G4ForceCondition *condition)
 
G4double PostStepGPIL (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
const G4StringGetPhysicsTableFileName (const G4ParticleDefinition *, const G4String &directory, const G4String &tableName, G4bool ascii=false)
 
const G4StringGetProcessName () const
 
G4ProcessType GetProcessType () const
 
void SetProcessType (G4ProcessType)
 
G4int GetProcessSubType () const
 
void SetProcessSubType (G4int)
 
virtual void EndTracking ()
 
virtual void SetProcessManager (const G4ProcessManager *)
 
virtual const G4ProcessManagerGetProcessManager ()
 
virtual void ResetNumberOfInteractionLengthLeft ()
 
G4double GetNumberOfInteractionLengthLeft () const
 
G4double GetTotalNumberOfInteractionLengthTraversed () const
 
G4bool isAtRestDoItIsEnabled () const
 
G4bool isAlongStepDoItIsEnabled () const
 
G4bool isPostStepDoItIsEnabled () const
 
virtual void DumpInfo () const
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
virtual void SetMasterProcess (G4VProcess *masterP)
 
const G4VProcessGetMasterProcess () const
 
virtual void BuildWorkerPhysicsTable (const G4ParticleDefinition &part)
 
virtual void PrepareWorkerPhysicsTable (const G4ParticleDefinition &)
 

Protected Member Functions

virtual void InitialiseProcess (const G4ParticleDefinition *)=0
 
virtual G4double MinPrimaryEnergy (const G4ParticleDefinition *, const G4Material *)
 
G4VEmModelSelectModel (G4double &kinEnergy, size_t index)
 
G4double GetMeanFreePath (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
G4PhysicsVectorLambdaPhysicsVector (const G4MaterialCutsCouple *)
 
G4double RecalculateLambda (G4double kinEnergy, const G4MaterialCutsCouple *couple)
 
G4ParticleChangeForGammaGetParticleChange ()
 
void SetParticle (const G4ParticleDefinition *p)
 
void SetSecondaryParticle (const G4ParticleDefinition *p)
 
size_t CurrentMaterialCutsCoupleIndex () const
 
G4double GetGammaEnergyCut ()
 
G4double GetElectronEnergyCut ()
 
void SetStartFromNullFlag (G4bool val)
 
void SetSplineFlag (G4bool val)
 
- Protected Member Functions inherited from G4VProcess
void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
void ClearNumberOfInteractionLengthLeft ()
 

Protected Attributes

G4ParticleChangeForGamma fParticleChange
 
- Protected Attributes inherited from G4VProcess
const G4ProcessManageraProcessManager
 
G4VParticleChangepParticleChange
 
G4ParticleChange aParticleChange
 
G4double theNumberOfInteractionLengthLeft
 
G4double currentInteractionLength
 
G4double theInitialNumberOfInteractionLength
 
G4String theProcessName
 
G4String thePhysicsTableFileName
 
G4ProcessType theProcessType
 
G4int theProcessSubType
 
G4double thePILfactor
 
G4bool enableAtRestDoIt
 
G4bool enableAlongStepDoIt
 
G4bool enablePostStepDoIt
 
G4int verboseLevel
 

Private Member Functions

void Clear ()
 
void BuildLambdaTable ()
 
void PrintInfoProcess (const G4ParticleDefinition &)
 
void FindLambdaMax ()
 
void DefineMaterial (const G4MaterialCutsCouple *couple)
 
void ComputeIntegralLambda (G4double kinEnergy)
 
G4double GetLambdaFromTable (G4double kinEnergy)
 
G4double GetLambdaFromTablePrim (G4double kinEnergy)
 
G4double GetCurrentLambda (G4double kinEnergy)
 
G4double ComputeCurrentLambda (G4double kinEnergy)
 
 G4VEmProcess (G4VEmProcess &)
 
G4VEmProcessoperator= (const G4VEmProcess &right)
 

Private Attributes

G4LossTableManagerlManager
 
G4EmModelManagermodelManager
 
G4EmBiasingManagerbiasManager
 
const G4ParticleDefinitiontheGamma
 
const G4ParticleDefinitiontheElectron
 
const G4ParticleDefinitionthePositron
 
const G4ParticleDefinitionsecondaryParticle
 
G4bool buildLambdaTable
 
std::vector< G4VEmModel * > emModels
 
G4int numberOfModels
 
G4PhysicsTabletheLambdaTable
 
G4PhysicsTabletheLambdaTablePrim
 
std::vector< G4doubletheEnergyOfCrossSectionMax
 
std::vector< G4doubletheCrossSectionMax
 
size_t idxLambda
 
size_t idxLambdaPrim
 
const std::vector< G4double > * theCuts
 
const std::vector< G4double > * theCutsGamma
 
const std::vector< G4double > * theCutsElectron
 
const std::vector< G4double > * theCutsPositron
 
const std::vector< G4double > * theDensityFactor
 
const std::vector< G4int > * theDensityIdx
 
G4int nLambdaBins
 
G4double minKinEnergy
 
G4double minKinEnergyPrim
 
G4double maxKinEnergy
 
G4double lambdaFactor
 
G4double polarAngleLimit
 
G4double biasFactor
 
G4bool integral
 
G4bool applyCuts
 
G4bool startFromNull
 
G4bool splineFlag
 
std::vector< G4DynamicParticle * > secParticles
 
G4VEmModelcurrentModel
 
const G4ParticleDefinitionparticle
 
const G4ParticleDefinitioncurrentParticle
 
const G4MaterialbaseMaterial
 
const G4MaterialcurrentMaterial
 
const G4MaterialCutsCouplecurrentCouple
 
size_t currentCoupleIndex
 
size_t basedCoupleIndex
 
G4double mfpKinEnergy
 
G4double preStepKinEnergy
 
G4double preStepLambda
 
G4double fFactor
 
G4bool biasFlag
 
G4bool weightFlag
 
G4int mainSecondaries
 
G4int secID
 
G4int fluoID
 
G4int augerID
 
G4int biasID
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VProcess
static const G4StringGetProcessTypeName (G4ProcessType)
 

Detailed Description

Definition at line 92 of file G4VEmProcess.hh.

Constructor & Destructor Documentation

G4VEmProcess::~G4VEmProcess ( )
virtual

Definition at line 156 of file G4VEmProcess.cc.

References biasManager, G4LossTableManager::DeRegister(), G4cout, G4endl, G4VProcess::GetProcessName(), G4LossTableManager::IsMaster(), lManager, modelManager, theLambdaTable, theLambdaTablePrim, and G4VProcess::verboseLevel.

+ Here is the call graph for this function:

G4VEmProcess::G4VEmProcess ( G4VEmProcess )
private

Member Function Documentation

void G4VEmProcess::ActivateForcedInteraction ( G4double  length = 0.0,
const G4String r = "",
G4bool  flag = true 
)

Definition at line 1088 of file G4VEmProcess.cc.

References G4EmBiasingManager::ActivateForcedInteraction(), biasManager, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), mm, particle, G4VProcess::verboseLevel, and weightFlag.

Referenced by G4EmProcessOptions::ActivateForcedInteraction().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::ActivateSecondaryBiasing ( const G4String region,
G4double  factor,
G4double  energyLimit 
)

Definition at line 1108 of file G4VEmProcess.cc.

References G4EmBiasingManager::ActivateSecondaryBiasing(), biasManager, G4Electron::Electron(), G4cout, G4endl, G4VProcess::GetProcessName(), MeV, secondaryParticle, and G4VProcess::verboseLevel.

Referenced by G4EmProcessOptions::ActivateSecondaryBiasingForGamma().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::AddEmModel ( G4int  order,
G4VEmModel p,
const G4Region region = 0 
)

Definition at line 192 of file G4VEmProcess.cc.

References G4EmModelManager::AddEmModel(), fm, modelManager, G4VProcess::pParticleChange, and G4VEmModel::SetParticleChange().

Referenced by DicomPhysicsList::ConstructEM(), G4EmLowEPPhysics::ConstructProcess(), G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), PhysListEmPenelope::ConstructProcess(), PhysListEmStandardSS::ConstructProcess(), PhysListEmStandardSSM::ConstructProcess(), PhysListEmLivermore::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4DNAVibExcitation::InitialiseProcess(), G4DNAChargeIncrease::InitialiseProcess(), G4DNAAttachment::InitialiseProcess(), G4DNAElastic::InitialiseProcess(), G4DNAChargeDecrease::InitialiseProcess(), G4DNAElectronSolvatation::InitialiseProcess(), G4DNAExcitation::InitialiseProcess(), G4DNAIonisation::InitialiseProcess(), G4MicroElecElastic::InitialiseProcess(), G4MuElecElastic::InitialiseProcess(), G4RayleighScattering::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4MicroElecInelastic::InitialiseProcess(), G4MuElecInelastic::InitialiseProcess(), G4eeToHadrons::InitialiseProcess(), G4PolarizedGammaConversion::InitialiseProcess(), G4ComptonScattering::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4PolarizedCompton::InitialiseProcess(), G4NuclearStopping::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4PhotoElectricEffect::InitialiseProcess(), G4PolarizedPhotoElectricEffect::InitialiseProcess(), G4eplusPolarizedAnnihilation::InitialiseProcess(), G4EmConfigurator::PrepareModels(), and G4EmConfigurator::SetModelForRegion().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::BuildPhysicsTable ( const G4ParticleDefinition part)
virtual
void G4VEmProcess::Clear ( )
private

Definition at line 174 of file G4VEmProcess.cc.

References currentCouple, DBL_MAX, idxLambda, idxLambdaPrim, mfpKinEnergy, and preStepLambda.

Referenced by PreparePhysicsTable().

+ Here is the caller graph for this function:

G4double G4VEmProcess::ComputeCrossSectionPerAtom ( G4double  kineticEnergy,
G4double  Z,
G4double  A = 0.,
G4double  cut = 0.0 
)

Definition at line 984 of file G4VEmProcess.cc.

References G4VEmModel::ComputeCrossSectionPerAtom(), currentCoupleIndex, currentModel, currentParticle, and SelectModel().

+ Here is the call graph for this function:

G4double G4VEmProcess::ComputeCurrentLambda ( G4double  kinEnergy)
inlineprivate

Definition at line 481 of file G4VEmProcess.hh.

References baseMaterial, G4VEmModel::CrossSectionPerVolume(), currentCoupleIndex, currentModel, currentParticle, and theCuts.

Referenced by GetCurrentLambda(), and RecalculateLambda().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::ComputeIntegralLambda ( G4double  kinEnergy)
inlineprivate

Definition at line 521 of file G4VEmProcess.hh.

References currentCoupleIndex, e1, fFactor, GetCurrentLambda(), lambdaFactor, mfpKinEnergy, preStepLambda, theCrossSectionMax, and theEnergyOfCrossSectionMax.

Referenced by PostStepGetPhysicalInteractionLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmProcess::CrossSectionBiasingFactor ( ) const
inline

Definition at line 595 of file G4VEmProcess.hh.

References biasFactor.

G4double G4VEmProcess::CrossSectionPerVolume ( G4double  kineticEnergy,
const G4MaterialCutsCouple couple 
)

Definition at line 941 of file G4VEmProcess.cc.

References buildLambdaTable, G4VEmModel::CrossSectionPerVolume(), currentCoupleIndex, currentMaterial, currentModel, currentParticle, DefineMaterial(), fFactor, GetCurrentLambda(), SelectModel(), and theLambdaTable.

+ Here is the call graph for this function:

size_t G4VEmProcess::CurrentMaterialCutsCoupleIndex ( ) const
inlineprotected

Definition at line 408 of file G4VEmProcess.hh.

References currentCoupleIndex.

Referenced by G4eplusPolarizedAnnihilation::GetMeanFreePath(), G4PolarizedCompton::GetMeanFreePath(), G4eplusPolarizedAnnihilation::PostStepGetPhysicalInteractionLength(), and G4PolarizedCompton::PostStepGetPhysicalInteractionLength().

+ Here is the caller graph for this function:

void G4VEmProcess::DefineMaterial ( const G4MaterialCutsCouple couple)
inlineprivate

Definition at line 429 of file G4VEmProcess.hh.

References basedCoupleIndex, baseMaterial, biasFactor, currentCouple, currentCoupleIndex, currentMaterial, DBL_MAX, fFactor, G4Material::GetBaseMaterial(), G4MaterialCutsCouple::GetIndex(), G4MaterialCutsCouple::GetMaterial(), idxLambda, idxLambdaPrim, and mfpKinEnergy.

Referenced by CrossSectionPerVolume(), GetLambda(), MeanFreePath(), PostStepGetPhysicalInteractionLength(), and RecalculateLambda().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::FindLambdaMax ( )
private

Definition at line 998 of file G4VEmProcess.cc.

References DBL_MAX, G4PhysicsVector::Energy(), G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4PhysicsVector::GetVectorLength(), G4PhysicsTable::length(), MeV, n, particle, smax, theCrossSectionMax, theEnergyOfCrossSectionMax, theLambdaTable, and G4VProcess::verboseLevel.

Referenced by BuildLambdaTable(), and BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4Element * G4VEmProcess::GetCurrentElement ( ) const

Definition at line 1061 of file G4VEmProcess.cc.

References currentModel, and G4VEmModel::GetCurrentElement().

+ Here is the call graph for this function:

G4double G4VEmProcess::GetCurrentLambda ( G4double  kinEnergy)
inlineprivate

Definition at line 489 of file G4VEmProcess.hh.

References ComputeCurrentLambda(), fFactor, GetLambdaFromTable(), GetLambdaFromTablePrim(), minKinEnergyPrim, and theLambdaTable.

Referenced by ComputeIntegralLambda(), CrossSectionPerVolume(), GetLambda(), MeanFreePath(), and PostStepGetPhysicalInteractionLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmProcess::GetElectronEnergyCut ( )
inlineprotected

Definition at line 422 of file G4VEmProcess.hh.

References currentCoupleIndex, and theCutsElectron.

G4double G4VEmProcess::GetGammaEnergyCut ( )
inlineprotected

Definition at line 415 of file G4VEmProcess.hh.

References currentCoupleIndex, and theCutsGamma.

G4double G4VEmProcess::GetLambda ( G4double kinEnergy,
const G4MaterialCutsCouple couple 
)
inline

Definition at line 501 of file G4VEmProcess.hh.

References currentCoupleIndex, DefineMaterial(), GetCurrentLambda(), and SelectModel().

Referenced by PostStepDoIt(), and G4AdjointComptonModel::RapidSampleSecondaries().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmProcess::GetLambdaFromTable ( G4double  kinEnergy)
inlineprivate

Definition at line 467 of file G4VEmProcess.hh.

References basedCoupleIndex, idxLambda, and theLambdaTable.

Referenced by GetCurrentLambda().

+ Here is the caller graph for this function:

G4double G4VEmProcess::GetLambdaFromTablePrim ( G4double  kinEnergy)
inlineprivate

Definition at line 474 of file G4VEmProcess.hh.

References basedCoupleIndex, idxLambdaPrim, and theLambdaTablePrim.

Referenced by GetCurrentLambda().

+ Here is the caller graph for this function:

G4double G4VEmProcess::GetMeanFreePath ( const G4Track track,
G4double  previousStepSize,
G4ForceCondition condition 
)
protectedvirtual

Implements G4VDiscreteProcess.

Definition at line 962 of file G4VEmProcess.cc.

References MeanFreePath(), and NotForced.

Referenced by G4eplusPolarizedAnnihilation::GetMeanFreePath(), and G4PolarizedCompton::GetMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEmModel * G4VEmProcess::GetModelByIndex ( G4int  idx = 0,
G4bool  ver = false 
) const

Definition at line 228 of file G4VEmProcess.cc.

References G4EmModelManager::GetModel(), and modelManager.

Referenced by BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ParticleChangeForGamma * G4VEmProcess::GetParticleChange ( )
inlineprotected

Definition at line 665 of file G4VEmProcess.hh.

References fParticleChange.

G4bool G4VEmProcess::IsIntegral ( ) const
inline

Definition at line 644 of file G4VEmProcess.hh.

References integral.

G4int G4VEmProcess::LambdaBinning ( ) const
inline

Definition at line 551 of file G4VEmProcess.hh.

References nLambdaBins.

Referenced by G4PolarizedCompton::BuildAsymmetryTable(), and G4eplusPolarizedAnnihilation::BuildAsymmetryTable().

+ Here is the caller graph for this function:

G4PhysicsVector * G4VEmProcess::LambdaPhysicsVector ( const G4MaterialCutsCouple )
protected

Definition at line 1051 of file G4VEmProcess.cc.

References lManager, maxKinEnergy, minKinEnergy, nLambdaBins, G4PhysicsVector::SetSpline(), and G4LossTableManager::SplineFlag().

Referenced by G4PolarizedCompton::BuildAsymmetryTable(), and G4eplusPolarizedAnnihilation::BuildAsymmetryTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4PhysicsTable * G4VEmProcess::LambdaTable ( ) const
inline

Definition at line 602 of file G4VEmProcess.hh.

References theLambdaTable.

Referenced by BuildPhysicsTable(), and G4EmCalculator::FindLambdaTable().

+ Here is the caller graph for this function:

G4PhysicsTable * G4VEmProcess::LambdaTablePrim ( ) const
inline

Definition at line 609 of file G4VEmProcess.hh.

References theLambdaTablePrim.

Referenced by BuildPhysicsTable().

+ Here is the caller graph for this function:

G4double G4VEmProcess::MaxKinEnergy ( ) const
inline
G4double G4VEmProcess::MeanFreePath ( const G4Track track)

Definition at line 972 of file G4VEmProcess.cc.

References DBL_MAX, DefineMaterial(), GetCurrentLambda(), G4Track::GetKineticEnergy(), G4Track::GetMaterialCutsCouple(), and preStepLambda.

Referenced by GetMeanFreePath().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmProcess::MinKinEnergy ( ) const
inline
G4double G4VEmProcess::MinPrimaryEnergy ( const G4ParticleDefinition ,
const G4Material  
)
protectedvirtual

Reimplemented in G4GammaConversion, and G4CoulombScattering.

Definition at line 184 of file G4VEmProcess.cc.

Referenced by BuildLambdaTable().

+ Here is the caller graph for this function:

G4VEmProcess& G4VEmProcess::operator= ( const G4VEmProcess right)
private
const G4ParticleDefinition * G4VEmProcess::Particle ( ) const
inline

Definition at line 616 of file G4VEmProcess.hh.

References particle.

G4double G4VEmProcess::PolarAngleLimit ( ) const
inline

Definition at line 588 of file G4VEmProcess.hh.

References polarAngleLimit.

Referenced by G4CoulombScattering::InitialiseProcess(), G4CoulombScattering::MinPrimaryEnergy(), and G4CoulombScattering::PrintInfo().

+ Here is the caller graph for this function:

G4VParticleChange * G4VEmProcess::PostStepDoIt ( const G4Track track,
const G4Step step 
)
virtual

Reimplemented from G4VDiscreteProcess.

Definition at line 659 of file G4VEmProcess.cc.

References G4VParticleChange::AddSecondary(), applyCuts, G4EmBiasingManager::ApplySecondaryBiasing(), augerID, biasFactor, biasFlag, biasID, biasManager, G4VProcess::ClearNumberOfInteractionLengthLeft(), currentCouple, currentCoupleIndex, currentModel, currentParticle, DBL_MAX, fAlive, fluoID, G4EmBiasingManager::ForcedInteractionRegion(), fParticleChange, fStopAndKill, fStopButAlive, G4cout, G4endl, G4UniformRand, G4ProcessManager::GetAtRestProcessVector(), G4Track::GetDynamicParticle(), G4Track::GetGlobalTime(), G4DynamicParticle::GetKineticEnergy(), G4Track::GetKineticEnergy(), GetLambda(), G4VParticleChange::GetLocalEnergyDeposit(), G4VParticleChange::GetParentWeight(), G4DynamicParticle::GetParticleDefinition(), G4ParticleDefinition::GetParticleName(), G4Track::GetPosition(), G4Step::GetPostStepPoint(), G4ParticleDefinition::GetProcessManager(), G4VProcess::GetProcessName(), G4ParticleChangeForGamma::GetProposedKineticEnergy(), G4StepPoint::GetSafety(), G4Track::GetTouchableHandle(), G4VParticleChange::GetTrackStatus(), G4Track::GetTrackStatus(), G4ParticleChangeForGamma::InitializeForPostStep(), integral, G4VEmModel::IsActive(), mainSecondaries, MeV, mfpKinEnergy, particle, G4VProcess::pParticleChange, preStepLambda, G4VParticleChange::ProposeLocalEnergyDeposit(), G4VParticleChange::ProposeTrackStatus(), G4VParticleChange::ProposeWeight(), G4VEmModel::SampleSecondaries(), secID, G4EmBiasingManager::SecondaryBiasingRegion(), secParticles, SelectModel(), G4Track::SetCreatorModelIndex(), G4VParticleChange::SetNumberOfSecondaries(), G4Track::SetTouchableHandle(), G4Track::SetWeight(), G4ProcessVector::size(), theCuts, theCutsElectron, theCutsGamma, theCutsPositron, theElectron, theGamma, G4VProcess::theNumberOfInteractionLengthLeft, thePositron, G4VProcess::verboseLevel, and weightFlag.

+ Here is the call graph for this function:

void G4VEmProcess::PreparePhysicsTable ( const G4ParticleDefinition part)
virtual

Reimplemented from G4VProcess.

Definition at line 235 of file G4VEmProcess.cc.

References G4LossTableManager::AtomDeexcitation(), augerID, biasFlag, biasID, biasManager, buildLambdaTable, Clear(), currentModel, DBL_MAX, fluoID, G4cout, G4endl, G4GenericIon::GenericIon(), G4ProductionCutsTable::GetEnergyCutsVector(), G4VProcess::GetMasterProcess(), G4EmModelManager::GetModel(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetParticleSubType(), G4ParticleDefinition::GetParticleType(), G4VProcess::GetProcessName(), G4ProductionCutsTable::GetProductionCutsTable(), G4LossTableManager::GetTableBuilder(), G4ProductionCutsTable::GetTableSize(), G4VEmModel::HighEnergyLimit(), idxG4ElectronCut, idxG4GammaCut, idxG4PositronCut, G4EmBiasingManager::Initialise(), G4EmModelManager::Initialise(), G4LossTableBuilder::InitialiseBaseMaterials(), InitialiseProcess(), lManager, maxKinEnergy, minKinEnergyPrim, modelManager, n, G4EmModelManager::NumberOfModels(), numberOfModels, particle, polarAngleLimit, G4PhysicsTableHelper::PreparePhysicsTable(), G4LossTableManager::PreparePhysicsTable(), G4PhysicsModelCatalog::Register(), secID, secondaryParticle, G4EmModelManager::SetFluoFlag(), G4VEmModel::SetHighEnergyLimit(), G4VEmModel::SetMasterThread(), SetParticle(), G4VEmModel::SetPolarAngleLimit(), theCrossSectionMax, theCuts, theCutsElectron, theCutsGamma, theCutsPositron, theEnergyOfCrossSectionMax, theLambdaTable, theLambdaTablePrim, and G4VProcess::verboseLevel.

Referenced by G4PolarizedCompton::PreparePhysicsTable(), and G4eplusPolarizedAnnihilation::PreparePhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::PrintInfoProcess ( const G4ParticleDefinition part)
private

Definition at line 500 of file G4VEmProcess.cc.

References applyCuts, biasFactor, buildLambdaTable, G4EmModelManager::DumpModelList(), G4BestUnit, G4cout, G4endl, G4PhysicsVector::GetMaxEnergy(), G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), G4VProcess::GetProcessSubType(), G4PhysicsVector::GetVectorLength(), integral, G4PhysicsTable::length(), maxKinEnergy, minKinEnergy, minKinEnergyPrim, modelManager, PrintInfo(), splineFlag, theLambdaTable, theLambdaTablePrim, and G4VProcess::verboseLevel.

Referenced by BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4VEmProcess::RecalculateLambda ( G4double  kinEnergy,
const G4MaterialCutsCouple couple 
)
inlineprotected

Definition at line 512 of file G4VEmProcess.hh.

References ComputeCurrentLambda(), currentCoupleIndex, DefineMaterial(), fFactor, and SelectModel().

+ Here is the call graph for this function:

G4bool G4VEmProcess::RetrievePhysicsTable ( const G4ParticleDefinition part,
const G4String directory,
G4bool  ascii 
)
virtual

Reimplemented from G4VProcess.

Definition at line 863 of file G4VEmProcess.cc.

References buildLambdaTable, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetPhysicsTableFileName(), G4VProcess::GetProcessName(), G4PhysicsTable::length(), lManager, maxKinEnergy, minKinEnergyPrim, n, particle, G4PhysicsTableHelper::RetrievePhysicsTable(), G4LossTableManager::SplineFlag(), theLambdaTable, theLambdaTablePrim, and G4VProcess::verboseLevel.

+ Here is the call graph for this function:

const G4ParticleDefinition * G4VEmProcess::SecondaryParticle ( ) const
inline

Definition at line 623 of file G4VEmProcess.hh.

References secondaryParticle.

G4VEmModel * G4VEmProcess::SelectModel ( G4double kinEnergy,
size_t  index 
)
inlineprotected

Definition at line 447 of file G4VEmProcess.hh.

References currentCouple, currentModel, modelManager, numberOfModels, G4EmModelManager::SelectModel(), and G4VEmModel::SetCurrentCouple().

Referenced by G4NuclearStopping::AlongStepDoIt(), ComputeCrossSectionPerAtom(), CrossSectionPerVolume(), GetLambda(), PostStepDoIt(), PostStepGetPhysicalInteractionLength(), and RecalculateLambda().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4VEmModel * G4VEmProcess::SelectModelForMaterial ( G4double  kinEnergy,
size_t &  idxRegion 
) const
inline

Definition at line 459 of file G4VEmProcess.hh.

References modelManager, and G4EmModelManager::SelectModel().

Referenced by G4EmCalculator::FindEmModel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::SetApplyCuts ( G4bool  val)
inline

Definition at line 651 of file G4VEmProcess.hh.

References applyCuts.

Referenced by G4EmProcessOptions::SetApplyCuts().

+ Here is the caller graph for this function:

void G4VEmProcess::SetCrossSectionBiasingFactor ( G4double  f,
G4bool  flag = true 
)

Definition at line 1070 of file G4VEmProcess.cc.

References biasFactor, G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetProcessName(), particle, G4VProcess::verboseLevel, and weightFlag.

Referenced by G4EmProcessOptions::SetProcessBiasingFactor().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::SetEmModel ( G4VEmModel p,
G4int  index = 1 
)

Definition at line 202 of file G4VEmProcess.cc.

References emModels, and n.

Referenced by DMXPhysicsList::ConstructEM(), G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmDNAPhysics::ConstructProcess(), PhysListEmStandardNR::ConstructProcess(), PhysListEmStandardWVI::ConstructProcess(), PhysListEmStandard_WVI::ConstructProcess(), PhysListEmStandard_GS::ConstructProcess(), PhysListEmStandard_SS::ConstructProcess(), PhysListEmStandard_option0::ConstructProcess(), PhysListEmStandard_option3::ConstructProcess(), GammaRayTelEMlowePhysics::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4EmStandardPhysics_option1::ConstructProcess(), G4EmStandardPhysics_option2::ConstructProcess(), G4DNAChargeIncrease::InitialiseProcess(), G4DNAVibExcitation::InitialiseProcess(), G4DNAAttachment::InitialiseProcess(), G4DNAElastic::InitialiseProcess(), G4DNAChargeDecrease::InitialiseProcess(), G4DNAElectronSolvatation::InitialiseProcess(), G4DNAExcitation::InitialiseProcess(), G4DNAIonisation::InitialiseProcess(), G4MicroElecElastic::InitialiseProcess(), G4MuElecElastic::InitialiseProcess(), G4RayleighScattering::InitialiseProcess(), G4CoulombScattering::InitialiseProcess(), G4MuElecInelastic::InitialiseProcess(), G4MicroElecInelastic::InitialiseProcess(), G4ComptonScattering::InitialiseProcess(), G4eplusAnnihilation::InitialiseProcess(), G4NuclearStopping::InitialiseProcess(), G4GammaConversion::InitialiseProcess(), G4PhotoElectricEffect::InitialiseProcess(), and G4PolarizedPhotoElectricEffect::InitialiseProcess().

+ Here is the caller graph for this function:

void G4VEmProcess::SetIntegral ( G4bool  val)
inline

Definition at line 637 of file G4VEmProcess.hh.

References integral, particle, and theGamma.

Referenced by G4CoulombScattering::G4CoulombScattering(), G4eplusAnnihilation::G4eplusAnnihilation(), and G4eeToHadrons::InitialiseProcess().

+ Here is the caller graph for this function:

void G4VEmProcess::SetLambdaBinning ( G4int  nbins)
inline

Definition at line 544 of file G4VEmProcess.hh.

References nLambdaBins.

Referenced by G4GammaConversion::G4GammaConversion(), G4PolarizedCompton::G4PolarizedCompton(), G4PolarizedGammaConversion::G4PolarizedGammaConversion(), and G4eplusPolarizedAnnihilation::InitialiseProcess().

+ Here is the caller graph for this function:

void G4VEmProcess::SetLambdaFactor ( G4double  val)
inline

Definition at line 630 of file G4VEmProcess.hh.

References lambdaFactor.

void G4VEmProcess::SetMaxKinEnergy ( G4double  e)

Definition at line 1142 of file G4VEmProcess.cc.

References G4Log(), G4lrint(), maxKinEnergy, minKinEnergy, and nLambdaBins.

Referenced by G4EmLivermorePolarizedPhysics::ConstructProcess(), G4EmLivermorePhysics::ConstructProcess(), G4EmPenelopePhysics::ConstructProcess(), G4EmStandardPhysics_option3::ConstructProcess(), G4EmStandardPhysics_option4::ConstructProcess(), G4PolarizedCompton::G4PolarizedCompton(), G4PolarizedGammaConversion::G4PolarizedGammaConversion(), G4eeToHadrons::InitialiseProcess(), and G4eplusPolarizedAnnihilation::InitialiseProcess().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VEmProcess::SetMinKinEnergyPrim ( G4double  e)
inline

Definition at line 572 of file G4VEmProcess.hh.

References minKinEnergyPrim.

Referenced by G4ComptonScattering::G4ComptonScattering(), G4PhotoElectricEffect::G4PhotoElectricEffect(), and G4RayleighScattering::G4RayleighScattering().

+ Here is the caller graph for this function:

void G4VEmProcess::SetParticle ( const G4ParticleDefinition p)
inlineprotected

Definition at line 672 of file G4VEmProcess.hh.

References currentParticle, and particle.

Referenced by G4eeToHadrons::InitialiseProcess(), and PreparePhysicsTable().

+ Here is the caller graph for this function:

void G4VEmProcess::SetPolarAngleLimit ( G4double  a)
inline

Definition at line 579 of file G4VEmProcess.hh.

References G4INCL::Math::pi, and polarAngleLimit.

Referenced by G4EmProcessOptions::SetPolarAngleLimit().

+ Here is the caller graph for this function:

void G4VEmProcess::SetSplineFlag ( G4bool  val)
inlineprotected

Definition at line 694 of file G4VEmProcess.hh.

References splineFlag.

Referenced by G4ComptonScattering::G4ComptonScattering(), G4CoulombScattering::G4CoulombScattering(), and G4RayleighScattering::G4RayleighScattering().

+ Here is the caller graph for this function:

void G4VEmProcess::SetStartFromNullFlag ( G4bool  val)
inlineprotected

Definition at line 687 of file G4VEmProcess.hh.

References startFromNull.

Referenced by G4ComptonScattering::G4ComptonScattering(), G4CoulombScattering::G4CoulombScattering(), G4eplusAnnihilation::G4eplusAnnihilation(), G4GammaConversion::G4GammaConversion(), G4RayleighScattering::G4RayleighScattering(), G4CoulombScattering::InitialiseProcess(), and G4eplusPolarizedAnnihilation::InitialiseProcess().

+ Here is the caller graph for this function:

void G4VEmProcess::StartTracking ( G4Track track)
virtual

Reimplemented from G4VProcess.

Definition at line 556 of file G4VEmProcess.cc.

References biasFlag, biasManager, currentParticle, DBL_MAX, G4Track::GetParentID(), G4Track::GetParticleDefinition(), mfpKinEnergy, G4EmBiasingManager::ResetForcedInteraction(), and G4VProcess::theNumberOfInteractionLengthLeft.

+ Here is the call graph for this function:

G4bool G4VEmProcess::StorePhysicsTable ( const G4ParticleDefinition part,
const G4String directory,
G4bool  ascii = false 
)
virtual

Reimplemented from G4VProcess.

Definition at line 815 of file G4VEmProcess.cc.

References G4cout, G4endl, G4ParticleDefinition::GetParticleName(), G4VProcess::GetPhysicsTableFileName(), G4VProcess::GetProcessName(), name, particle, G4PhysicsTable::StorePhysicsTable(), theLambdaTable, and theLambdaTablePrim.

+ Here is the call graph for this function:

void G4VEmProcess::UpdateEmModel ( const G4String nam,
G4double  emin,
G4double  emax 
)

Definition at line 220 of file G4VEmProcess.cc.

References modelManager, and G4EmModelManager::UpdateEmModel().

+ Here is the call graph for this function:

Member Data Documentation

G4bool G4VEmProcess::applyCuts
private

Definition at line 366 of file G4VEmProcess.hh.

Referenced by PostStepDoIt(), PrintInfoProcess(), and SetApplyCuts().

G4int G4VEmProcess::augerID
private

Definition at line 402 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), PostStepDoIt(), and PreparePhysicsTable().

size_t G4VEmProcess::basedCoupleIndex
private

Definition at line 390 of file G4VEmProcess.hh.

Referenced by DefineMaterial(), GetLambdaFromTable(), and GetLambdaFromTablePrim().

const G4Material* G4VEmProcess::baseMaterial
private

Definition at line 386 of file G4VEmProcess.hh.

Referenced by ComputeCurrentLambda(), DefineMaterial(), and G4VEmProcess().

G4bool G4VEmProcess::biasFlag
private
G4int G4VEmProcess::biasID
private

Definition at line 403 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), PostStepDoIt(), and PreparePhysicsTable().

const G4MaterialCutsCouple* G4VEmProcess::currentCouple
private

Definition at line 388 of file G4VEmProcess.hh.

Referenced by Clear(), DefineMaterial(), PostStepDoIt(), and SelectModel().

const G4Material* G4VEmProcess::currentMaterial
private
std::vector<G4VEmModel*> G4VEmProcess::emModels
private

Definition at line 337 of file G4VEmProcess.hh.

Referenced by EmModel(), and SetEmModel().

G4int G4VEmProcess::fluoID
private

Definition at line 401 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), PostStepDoIt(), and PreparePhysicsTable().

size_t G4VEmProcess::idxLambda
private

Definition at line 346 of file G4VEmProcess.hh.

Referenced by Clear(), DefineMaterial(), G4VEmProcess(), and GetLambdaFromTable().

size_t G4VEmProcess::idxLambdaPrim
private

Definition at line 347 of file G4VEmProcess.hh.

Referenced by Clear(), DefineMaterial(), G4VEmProcess(), and GetLambdaFromTablePrim().

G4bool G4VEmProcess::integral
private
G4double G4VEmProcess::lambdaFactor
private

Definition at line 361 of file G4VEmProcess.hh.

Referenced by ComputeIntegralLambda(), G4VEmProcess(), and SetLambdaFactor().

G4int G4VEmProcess::mainSecondaries
private

Definition at line 399 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), and PostStepDoIt().

G4double G4VEmProcess::minKinEnergy
private
G4int G4VEmProcess::nLambdaBins
private
G4int G4VEmProcess::numberOfModels
private

Definition at line 338 of file G4VEmProcess.hh.

Referenced by BuildPhysicsTable(), PreparePhysicsTable(), and SelectModel().

G4double G4VEmProcess::polarAngleLimit
private
G4double G4VEmProcess::preStepKinEnergy
private

Definition at line 393 of file G4VEmProcess.hh.

Referenced by PostStepGetPhysicalInteractionLength().

G4double G4VEmProcess::preStepLambda
private
G4int G4VEmProcess::secID
private

Definition at line 400 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), PostStepDoIt(), and PreparePhysicsTable().

const G4ParticleDefinition* G4VEmProcess::secondaryParticle
private
std::vector<G4DynamicParticle*> G4VEmProcess::secParticles
private

Definition at line 378 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), and PostStepDoIt().

G4bool G4VEmProcess::splineFlag
private

Definition at line 368 of file G4VEmProcess.hh.

Referenced by BuildLambdaTable(), PrintInfoProcess(), and SetSplineFlag().

G4bool G4VEmProcess::startFromNull
private

Definition at line 367 of file G4VEmProcess.hh.

Referenced by BuildLambdaTable(), and SetStartFromNullFlag().

std::vector<G4double> G4VEmProcess::theCrossSectionMax
private

Definition at line 344 of file G4VEmProcess.hh.

Referenced by ComputeIntegralLambda(), FindLambdaMax(), and PreparePhysicsTable().

const std::vector<G4double>* G4VEmProcess::theCuts
private
const std::vector<G4double>* G4VEmProcess::theCutsElectron
private
const std::vector<G4double>* G4VEmProcess::theCutsGamma
private
const std::vector<G4double>* G4VEmProcess::theCutsPositron
private

Definition at line 352 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), PostStepDoIt(), and PreparePhysicsTable().

const std::vector<G4double>* G4VEmProcess::theDensityFactor
private

Definition at line 353 of file G4VEmProcess.hh.

Referenced by BuildPhysicsTable().

const std::vector<G4int>* G4VEmProcess::theDensityIdx
private

Definition at line 354 of file G4VEmProcess.hh.

Referenced by BuildPhysicsTable().

const G4ParticleDefinition* G4VEmProcess::theElectron
private

Definition at line 329 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), and PostStepDoIt().

std::vector<G4double> G4VEmProcess::theEnergyOfCrossSectionMax
private

Definition at line 343 of file G4VEmProcess.hh.

Referenced by ComputeIntegralLambda(), FindLambdaMax(), and PreparePhysicsTable().

const G4ParticleDefinition* G4VEmProcess::theGamma
private

Definition at line 328 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), PostStepDoIt(), and SetIntegral().

const G4ParticleDefinition* G4VEmProcess::thePositron
private

Definition at line 330 of file G4VEmProcess.hh.

Referenced by G4VEmProcess(), and PostStepDoIt().

G4bool G4VEmProcess::weightFlag
private

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