Geant4  10.01.p02
G4LowEnergyIonisation Class Reference

#include <G4LowEnergyIonisation.hh>

+ Inheritance diagram for G4LowEnergyIonisation:
+ Collaboration diagram for G4LowEnergyIonisation:

Public Member Functions

 G4LowEnergyIonisation (const G4String &processName="LowEnergyIoni")
 
 ~G4LowEnergyIonisation ()
 
G4bool IsApplicable (const G4ParticleDefinition &)
 
void PrintInfoDefinition ()
 
void BuildPhysicsTable (const G4ParticleDefinition &ParticleType)
 
G4VParticleChangePostStepDoIt (const G4Track &track, const G4Step &step)
 
void SetCutForLowEnSecPhotons (G4double cut)
 
void SetCutForLowEnSecElectrons (G4double cut)
 
void ActivateAuger (G4bool val)
 
- Public Member Functions inherited from G4eLowEnergyLoss
 G4eLowEnergyLoss (const G4String &)
 
 ~G4eLowEnergyLoss ()
 
void BuildDEDXTable (const G4ParticleDefinition &aParticleType)
 
G4double GetContinuousStepLimit (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety)
 
G4VParticleChangeAlongStepDoIt (const G4Track &track, const G4Step &Step)
 
void ActivateFluorescence (G4bool val)
 
G4bool Fluorescence () const
 
- Public Member Functions inherited from G4RDVeLowEnergyLoss
 G4RDVeLowEnergyLoss (const G4String &, G4ProcessType aType=fNotDefined)
 
 G4RDVeLowEnergyLoss (G4RDVeLowEnergyLoss &)
 
virtual ~G4RDVeLowEnergyLoss ()
 
- Public Member Functions inherited from G4VContinuousDiscreteProcess
 G4VContinuousDiscreteProcess (const G4String &, G4ProcessType aType=fNotDefined)
 
 G4VContinuousDiscreteProcess (G4VContinuousDiscreteProcess &)
 
virtual ~G4VContinuousDiscreteProcess ()
 
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety, G4GPILSelection *selection)
 
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &, G4ForceCondition *)
 
virtual G4VParticleChangeAtRestDoIt (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)
 
virtual void PreparePhysicsTable (const G4ParticleDefinition &)
 
virtual G4bool StorePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
virtual G4bool RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &, G4bool)
 
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 StartTracking (G4Track *)
 
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

G4double GetMeanFreePath (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)
 
virtual std::vector
< G4DynamicParticle * > * 
DeexciteAtom (const G4MaterialCutsCouple *couple, G4double incidentEnergy, G4double eLoss)
 
- Protected Member Functions inherited from G4RDVeLowEnergyLoss
G4double GetLossWithFluct (const G4DynamicParticle *aParticle, const G4MaterialCutsCouple *couple, G4double MeanLoss, G4double step)
 
- Protected Member Functions inherited from G4VContinuousDiscreteProcess
void SetGPILSelection (G4GPILSelection selection)
 
G4GPILSelection GetGPILSelection () const
 
- Protected Member Functions inherited from G4VProcess
void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
void ClearNumberOfInteractionLengthLeft ()
 

Private Member Functions

 G4LowEnergyIonisation (const G4LowEnergyIonisation &)
 
G4LowEnergyIonisationoperator= (const G4LowEnergyIonisation &right)
 
void BuildLossTable (const G4ParticleDefinition &ParticleType)
 

Private Attributes

G4RDVCrossSectionHandlercrossSectionHandler
 
G4RDVEMDataSettheMeanFreePath
 
G4RDVEnergySpectrumenergySpectrum
 
G4DataVector cutForDelta
 
G4double cutForPhotons
 
G4double cutForElectrons
 
G4RDAtomicDeexcitation deexcitationManager
 
G4RDShellVacancyshellVacancy
 

Additional Inherited Members

- Static Public Member Functions inherited from G4eLowEnergyLoss
static void SetNbOfProcesses (G4int nb)
 
static void PlusNbOfProcesses ()
 
static void MinusNbOfProcesses ()
 
static G4int GetNbOfProcesses ()
 
static void SetLowerBoundEloss (G4double val)
 
static void SetUpperBoundEloss (G4double val)
 
static void SetNbinEloss (G4int nb)
 
static G4double GetLowerBoundEloss ()
 
static G4double GetUpperBoundEloss ()
 
static G4int GetNbinEloss ()
 
- Static Public Member Functions inherited from G4RDVeLowEnergyLoss
static void SetRndmStep (G4bool value)
 
static void SetEnlossFluc (G4bool value)
 
static void SetStepFunction (G4double c1, G4double c2)
 
- Static Public Member Functions inherited from G4VProcess
static const G4StringGetProcessTypeName (G4ProcessType)
 
- Static Protected Member Functions inherited from G4RDVeLowEnergyLoss
static G4PhysicsTableBuildRangeTable (G4PhysicsTable *theDEDXTable, G4PhysicsTable *theRangeTable, G4double Tmin, G4double Tmax, G4int nbin)
 
static G4PhysicsTableBuildLabTimeTable (G4PhysicsTable *theDEDXTable, G4PhysicsTable *theLabTimeTable, G4double Tmin, G4double Tmax, G4int nbin)
 
static G4PhysicsTableBuildProperTimeTable (G4PhysicsTable *theDEDXTable, G4PhysicsTable *ProperTimeTable, G4double Tmin, G4double Tmax, G4int nbin)
 
static G4PhysicsTableBuildRangeCoeffATable (G4PhysicsTable *theRangeTable, G4PhysicsTable *theCoeffATable, G4double Tmin, G4double Tmax, G4int nbin)
 
static G4PhysicsTableBuildRangeCoeffBTable (G4PhysicsTable *theRangeTable, G4PhysicsTable *theCoeffBTable, G4double Tmin, G4double Tmax, G4int nbin)
 
static G4PhysicsTableBuildRangeCoeffCTable (G4PhysicsTable *theRangeTable, G4PhysicsTable *theCoeffCTable, G4double Tmin, G4double Tmax, G4int nbin)
 
static G4PhysicsTableBuildInverseRangeTable (G4PhysicsTable *theRangeTable, G4PhysicsTable *theRangeCoeffATable, G4PhysicsTable *theRangeCoeffBTable, G4PhysicsTable *theRangeCoeffCTable, G4PhysicsTable *theInverseRangeTable, G4double Tmin, G4double Tmax, G4int nbin)
 
- Protected Attributes inherited from G4eLowEnergyLoss
G4PhysicsTabletheLossTable
 
G4double MinKineticEnergy
 
G4double Charge
 
G4double lastCharge
 
- Protected Attributes inherited from G4RDVeLowEnergyLoss
const G4MateriallastMaterial
 
G4int imat
 
G4double f1Fluct
 
G4double f2Fluct
 
G4double e1Fluct
 
G4double e2Fluct
 
G4double rateFluct
 
G4double ipotFluct
 
G4double e1LogFluct
 
G4double e2LogFluct
 
G4double ipotLogFluct
 
const G4int nmaxCont1
 
const G4int nmaxCont2
 
- 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
 
- Static Protected Attributes inherited from G4eLowEnergyLoss
static G4PhysicsTabletheDEDXElectronTable = 0
 
static G4PhysicsTabletheDEDXPositronTable = 0
 
static G4PhysicsTabletheRangeElectronTable = 0
 
static G4PhysicsTabletheRangePositronTable = 0
 
static G4PhysicsTabletheInverseRangeElectronTable = 0
 
static G4PhysicsTabletheInverseRangePositronTable = 0
 
static G4PhysicsTabletheLabTimeElectronTable = 0
 
static G4PhysicsTabletheLabTimePositronTable = 0
 
static G4PhysicsTabletheProperTimeElectronTable = 0
 
static G4PhysicsTabletheProperTimePositronTable = 0
 
static G4int NbOfProcesses = 2
 
static G4int CounterOfElectronProcess = 0
 
static G4int CounterOfPositronProcess = 0
 
static G4PhysicsTable ** RecorderOfElectronProcess
 
static G4PhysicsTable ** RecorderOfPositronProcess
 
- Static Protected Attributes inherited from G4RDVeLowEnergyLoss
static G4double ParticleMass
 
static G4double taulow
 
static G4double tauhigh
 
static G4double ltaulow
 
static G4double ltauhigh
 
static G4double dRoverRange = 20*perCent
 
static G4double finalRange = 200*micrometer
 
static G4double c1lim = dRoverRange
 
static G4double c2lim = 2.*(1.-dRoverRange)*finalRange
 
static G4double c3lim = -(1.-dRoverRange)*finalRange*finalRange
 
static G4bool rndmStepFlag = false
 
static G4bool EnlossFlucFlag = true
 

Detailed Description

Definition at line 71 of file G4LowEnergyIonisation.hh.

Constructor & Destructor Documentation

G4LowEnergyIonisation::G4LowEnergyIonisation ( const G4String processName = "LowEnergyIoni")

Definition at line 125 of file G4LowEnergyIonisation.cc.

References cutForElectrons, cutForPhotons, eV, and G4VProcess::verboseLevel.

G4LowEnergyIonisation::~G4LowEnergyIonisation ( )
G4LowEnergyIonisation::G4LowEnergyIonisation ( const G4LowEnergyIonisation )
private

Member Function Documentation

void G4LowEnergyIonisation::ActivateAuger ( G4bool  val)

Definition at line 713 of file G4LowEnergyIonisation.cc.

References G4RDAtomicDeexcitation::ActivateAugerElectronProduction(), and deexcitationManager.

+ Here is the call graph for this function:

void G4LowEnergyIonisation::BuildLossTable ( const G4ParticleDefinition ParticleType)
private

Definition at line 233 of file G4LowEnergyIonisation.cc.

References G4RDVEMDataSet::AddComponent(), G4RDShellVacancy::AddXsiTable(), G4RDVEnergySpectrum::AverageEnergy(), G4PhysicsTable::clearAndDestroy(), crossSectionHandler, cutForDelta, G4INCL::KinematicsUtils::energy(), energySpectrum, G4RDVEnergySpectrum::Excitation(), G4RDVCrossSectionHandler::FindValue(), G4cout, G4endl, G4Material::GetAtomicNumDensityVector(), G4Material::GetElementVector(), G4ProductionCutsTable::GetEnergyCutsVector(), G4PhysicsVector::GetLowEdgeEnergy(), G4eLowEnergyLoss::GetLowerBoundEloss(), G4MaterialCutsCouple::GetMaterial(), G4ProductionCutsTable::GetMaterialCutsCouple(), G4eLowEnergyLoss::GetNbinEloss(), G4Material::GetNumberOfElements(), G4ProductionCutsTable::GetProductionCutsTable(), G4ProductionCutsTable::GetTableSize(), G4eLowEnergyLoss::GetUpperBoundEloss(), G4PhysicsTable::insert(), G4RDAtomicTransitionManager::Instance(), keV, m, MeV, mm, n, G4RDAtomicTransitionManager::NumberOfShells(), G4RDVEMDataSet::PrintData(), G4InuclParticleNames::pro, G4RDVEnergySpectrum::Probability(), G4PhysicsVector::PutValue(), shellVacancy, G4eLowEnergyLoss::theLossTable, and G4VProcess::verboseLevel.

Referenced by BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Implements G4eLowEnergyLoss.

Definition at line 690 of file G4LowEnergyIonisation.cc.

References G4RDVEMDataSet::FindValue(), G4RDVEMDataSet::GetComponent(), G4Track::GetKineticEnergy(), G4Track::GetMaterialCutsCouple(), NotForced, and theMeanFreePath.

+ Here is the call graph for this function:

G4bool G4LowEnergyIonisation::IsApplicable ( const G4ParticleDefinition particle)
virtual

Reimplemented from G4eLowEnergyLoss.

Definition at line 600 of file G4LowEnergyIonisation.cc.

References G4Electron::Electron().

+ Here is the call graph for this function:

G4LowEnergyIonisation& G4LowEnergyIonisation::operator= ( const G4LowEnergyIonisation right)
private
G4VParticleChange * G4LowEnergyIonisation::PostStepDoIt ( const G4Track track,
const G4Step step 
)
virtual

Implements G4eLowEnergyLoss.

Definition at line 405 of file G4LowEnergyIonisation.cc.

References G4ParticleChange::AddSecondary(), G4VProcess::aParticleChange, G4InuclSpecialFunctions::bindingEnergy(), G4RDAtomicShell::BindingEnergy(), crossSectionHandler, cutForDelta, cutForElectrons, cutForPhotons, deexcitationManager, G4Electron::Electron(), energySpectrum, eV, G4eLowEnergyLoss::Fluorescence(), fStopAndKill, G4cout, G4endl, G4UniformRand, G4Gamma::Gamma(), G4RDAtomicDeexcitation::GenerateParticles(), G4DynamicParticle::GetDefinition(), G4MaterialCutsCouple::GetIndex(), G4DynamicParticle::GetKineticEnergy(), G4Track::GetKineticEnergy(), G4Track::GetMaterialCutsCouple(), G4Track::GetMomentumDirection(), G4ParticleChange::Initialize(), G4RDAtomicTransitionManager::Instance(), G4RDVEnergySpectrum::MaxEnergyOfSecondaries(), G4VContinuousDiscreteProcess::PostStepDoIt(), G4ParticleChange::ProposeEnergy(), G4VParticleChange::ProposeLocalEnergyDeposit(), G4ParticleChange::ProposeMomentumDirection(), G4VParticleChange::ProposeTrackStatus(), G4RDVEnergySpectrum::SampleEnergy(), G4RDVCrossSectionHandler::SelectRandomAtom(), G4RDVCrossSectionHandler::SelectRandomShell(), G4DynamicParticle::SetDefinition(), G4DynamicParticle::SetKineticEnergy(), G4DynamicParticle::SetMomentumDirection(), G4VParticleChange::SetNumberOfSecondaries(), and G4RDAtomicShell::ShellId().

+ Here is the call graph for this function:

void G4LowEnergyIonisation::PrintInfoDefinition ( )

Definition at line 588 of file G4LowEnergyIonisation.cc.

References G4cout, G4endl, and G4VProcess::GetProcessName().

Referenced by BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4LowEnergyIonisation::SetCutForLowEnSecElectrons ( G4double  cut)

Definition at line 707 of file G4LowEnergyIonisation.cc.

References cutForElectrons, deexcitationManager, and G4RDAtomicDeexcitation::SetCutForAugerElectrons().

+ Here is the call graph for this function:

void G4LowEnergyIonisation::SetCutForLowEnSecPhotons ( G4double  cut)

Definition at line 701 of file G4LowEnergyIonisation.cc.

References cutForPhotons, deexcitationManager, and G4RDAtomicDeexcitation::SetCutForSecondaryPhotons().

+ Here is the call graph for this function:

Member Data Documentation

G4RDVCrossSectionHandler* G4LowEnergyIonisation::crossSectionHandler
private
G4DataVector G4LowEnergyIonisation::cutForDelta
private

Definition at line 119 of file G4LowEnergyIonisation.hh.

Referenced by BuildLossTable(), BuildPhysicsTable(), and PostStepDoIt().

G4double G4LowEnergyIonisation::cutForElectrons
private
G4double G4LowEnergyIonisation::cutForPhotons
private
G4RDAtomicDeexcitation G4LowEnergyIonisation::deexcitationManager
private
G4RDVEnergySpectrum* G4LowEnergyIonisation::energySpectrum
private
G4RDShellVacancy* G4LowEnergyIonisation::shellVacancy
private

Definition at line 123 of file G4LowEnergyIonisation.hh.

Referenced by BuildLossTable(), DeexciteAtom(), and ~G4LowEnergyIonisation().

G4RDVEMDataSet* G4LowEnergyIonisation::theMeanFreePath
private

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