Geant4  10.04.p03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
G4VEnergyLossProcess Class Referenceabstract
Inheritance diagram for G4VEnergyLossProcess:
G4VContinuousDiscreteProcess G4VProcess G4alphaIonisation G4eBremsstrahlung G4eIonisation G4ePairProduction G4ePolarizedIonisation G4hhIonisation G4hIonisation G4ionIonisation G4mplIonisation G4MuBremsstrahlung G4MuIonisation G4MuPairProduction

Public Member Functions

 G4VEnergyLossProcess (const G4String &name="EnergyLoss", G4ProcessType type=fElectromagnetic)
 
virtual ~G4VEnergyLossProcess ()
 
virtual G4bool IsApplicable (const G4ParticleDefinition &p) override=0
 
virtual void PrintInfo ()
 
virtual void ProcessDescription (std::ostream &outFile) const override
 
virtual void PreparePhysicsTable (const G4ParticleDefinition &) override
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &) override
 
G4PhysicsTableBuildDEDXTable (G4EmTableType tType=fRestricted)
 
G4PhysicsTableBuildLambdaTable (G4EmTableType tType=fRestricted)
 
virtual void StartTracking (G4Track *) override
 
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety, G4GPILSelection *selection) override
 
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) override
 
virtual G4VParticleChangeAlongStepDoIt (const G4Track &, const G4Step &) override
 
G4double SampleSubCutSecondaries (std::vector< G4Track * > &, const G4Step &, G4VEmModel *model, G4int matIdx)
 
virtual G4VParticleChangePostStepDoIt (const G4Track &, const G4Step &) override
 
virtual G4bool StorePhysicsTable (const G4ParticleDefinition *, const G4String &directory, G4bool ascii=false) override
 
virtual G4bool RetrievePhysicsTable (const G4ParticleDefinition *, const G4String &directory, G4bool ascii) override
 
G4double GetDEDXDispersion (const G4MaterialCutsCouple *couple, const G4DynamicParticle *dp, G4double length)
 
G4double CrossSectionPerVolume (G4double kineticEnergy, const G4MaterialCutsCouple *couple)
 
G4double MeanFreePath (const G4Track &track)
 
G4double ContinuousStepLimit (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety)
 
G4VEmModelSelectModelForMaterial (G4double kinEnergy, size_t &idx) const
 
void AddEmModel (G4int, G4VEmModel *, G4VEmFluctuationModel *fluc=0, const G4Region *region=nullptr)
 
void UpdateEmModel (const G4String &, G4double, G4double)
 
void SetEmModel (G4VEmModel *, G4int index=0)
 
G4VEmModelEmModel (size_t index=0) const
 
G4VEmModelGetModelByIndex (G4int idx=0, G4bool ver=false) const
 
G4int NumberOfModels () const
 
void SetFluctModel (G4VEmFluctuationModel *)
 
G4VEmFluctuationModelFluctModel ()
 
void SetBaseParticle (const G4ParticleDefinition *p)
 
const G4ParticleDefinitionParticle () const
 
const G4ParticleDefinitionBaseParticle () const
 
const G4ParticleDefinitionSecondaryParticle () const
 
void ActivateSubCutoff (G4bool val, const G4Region *region=nullptr)
 
void SetCrossSectionBiasingFactor (G4double f, G4bool flag=true)
 
void ActivateForcedInteraction (G4double length, const G4String &region, G4bool flag=true)
 
void ActivateSecondaryBiasing (const G4String &region, G4double factor, G4double energyLimit)
 
void AddCollaborativeProcess (G4VEnergyLossProcess *)
 
void SetLossFluctuations (G4bool val)
 
void SetIntegral (G4bool val)
 
G4bool IsIntegral () const
 
void SetIonisation (G4bool val)
 
G4bool IsIonisationProcess () const
 
void SetLinearLossLimit (G4double val)
 
void SetStepFunction (G4double v1, G4double v2, G4bool lock=true)
 
void SetLowestEnergyLimit (G4double)
 
G4int NumberOfSubCutoffRegions () const
 
void SetDEDXTable (G4PhysicsTable *p, G4EmTableType tType)
 
void SetCSDARangeTable (G4PhysicsTable *pRange)
 
void SetRangeTableForLoss (G4PhysicsTable *p)
 
void SetSecondaryRangeTable (G4PhysicsTable *p)
 
void SetInverseRangeTable (G4PhysicsTable *p)
 
void SetLambdaTable (G4PhysicsTable *p)
 
void SetSubLambdaTable (G4PhysicsTable *p)
 
void SetDEDXBinning (G4int nbins)
 
void SetMinKinEnergy (G4double e)
 
G4double MinKinEnergy () const
 
void SetMaxKinEnergy (G4double e)
 
G4double MaxKinEnergy () const
 
G4double CrossSectionBiasingFactor () const
 
G4double GetDEDX (G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4double GetDEDXForSubsec (G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4double GetRange (G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4double GetCSDARange (G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4double GetRangeForLoss (G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4double GetKineticEnergy (G4double &range, const G4MaterialCutsCouple *)
 
G4double GetLambda (G4double &kineticEnergy, const G4MaterialCutsCouple *)
 
G4bool TablesAreBuilt () const
 
G4PhysicsTableDEDXTable () const
 
G4PhysicsTableDEDXTableForSubsec () const
 
G4PhysicsTableDEDXunRestrictedTable () const
 
G4PhysicsTableIonisationTable () const
 
G4PhysicsTableIonisationTableForSubsec () const
 
G4PhysicsTableCSDARangeTable () const
 
G4PhysicsTableSecondaryRangeTable () const
 
G4PhysicsTableRangeTableForLoss () const
 
G4PhysicsTableInverseRangeTable () const
 
G4PhysicsTableLambdaTable () const
 
G4PhysicsTableSubLambdaTable () const
 
const G4ElementGetCurrentElement () const
 
void SetDynamicMassCharge (G4double massratio, G4double charge2ratio)
 
- Public Member Functions inherited from G4VContinuousDiscreteProcess
 G4VContinuousDiscreteProcess (const G4String &, G4ProcessType aType=fNotDefined)
 
 G4VContinuousDiscreteProcess (G4VContinuousDiscreteProcess &)
 
virtual ~G4VContinuousDiscreteProcess ()
 
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)
 
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 StreamProcessInfo (std::ostream &, G4String) const
 
virtual void InitialiseEnergyLossProcess (const G4ParticleDefinition *, const G4ParticleDefinition *)=0
 
virtual G4double MinPrimaryEnergy (const G4ParticleDefinition *, const G4Material *, G4double cut)
 
virtual G4double GetMeanFreePath (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition) override
 
virtual G4double GetContinuousStepLimit (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &currentSafety) override
 
G4PhysicsVectorLambdaPhysicsVector (const G4MaterialCutsCouple *, G4double cut)
 
size_t CurrentMaterialCutsCoupleIndex () const
 
void SelectModel (G4double kinEnergy)
 
void SetParticle (const G4ParticleDefinition *p)
 
void SetSecondaryParticle (const G4ParticleDefinition *p)
 
- 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 ()
 

Protected Attributes

G4ParticleChangeForLoss 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 Clean ()
 
void StreamInfo (std::ostream &out, const G4ParticleDefinition &part, G4String endOfLine=G4String("\n")) const
 
G4bool StoreTable (const G4ParticleDefinition *p, G4PhysicsTable *, G4bool ascii, const G4String &directory, const G4String &tname)
 
G4bool RetrieveTable (const G4ParticleDefinition *p, G4PhysicsTable *, G4bool ascii, const G4String &directory, const G4String &tname, G4bool mandatory)
 
void FillSecondariesAlongStep (G4double &eloss, G4double &weight)
 
void PrintWarning (G4String, G4double val)
 
void DefineMaterial (const G4MaterialCutsCouple *couple)
 
G4double GetDEDXForScaledEnergy (G4double scaledKinEnergy)
 
G4double GetSubDEDXForScaledEnergy (G4double scaledKinEnergy)
 
G4double GetIonisationForScaledEnergy (G4double scaledKinEnergy)
 
G4double GetSubIonisationForScaledEnergy (G4double scaledKinEnergy)
 
G4double GetScaledRangeForScaledEnergy (G4double scaledKinEnergy)
 
G4double GetLimitScaledRangeForScaledEnergy (G4double scaledKinEnergy)
 
G4double ScaledKinEnergyForLoss (G4double range)
 
G4double GetLambdaForScaledEnergy (G4double scaledKinEnergy)
 
void ComputeLambdaForScaledEnergy (G4double scaledKinEnergy)
 
 G4VEnergyLossProcess (G4VEnergyLossProcess &)=delete
 
G4VEnergyLossProcessoperator= (const G4VEnergyLossProcess &right)=delete
 

Private Attributes

G4LossTableManagerlManager
 
G4EmModelManagermodelManager
 
G4EmBiasingManagerbiasManager
 
G4SafetyHelpersafetyHelper
 
G4EmParameterstheParameters
 
const G4ParticleDefinitionsecondaryParticle
 
const G4ParticleDefinitiontheElectron
 
const G4ParticleDefinitionthePositron
 
const G4ParticleDefinitiontheGamma
 
const G4ParticleDefinitiontheGenericIon
 
std::vector< G4VEmModel * > emModels
 
G4VEmFluctuationModelfluctModel
 
G4VAtomDeexcitationatomDeexcitation
 
G4VSubCutProducersubcutProducer
 
std::vector< const G4Region * > scoffRegions
 
G4int nSCoffRegions
 
G4boolidxSCoffRegions
 
std::vector
< G4VEnergyLossProcess * > 
scProcesses
 
G4int nProcesses
 
G4PhysicsTabletheDEDXTable
 
G4PhysicsTabletheDEDXSubTable
 
G4PhysicsTabletheDEDXunRestrictedTable
 
G4PhysicsTabletheIonisationTable
 
G4PhysicsTabletheIonisationSubTable
 
G4PhysicsTabletheRangeTableForLoss
 
G4PhysicsTabletheCSDARangeTable
 
G4PhysicsTabletheSecondaryRangeTable
 
G4PhysicsTabletheInverseRangeTable
 
G4PhysicsTabletheLambdaTable
 
G4PhysicsTabletheSubLambdaTable
 
size_t idxDEDX
 
size_t idxDEDXSub
 
size_t idxDEDXunRestricted
 
size_t idxIonisation
 
size_t idxIonisationSub
 
size_t idxRange
 
size_t idxCSDA
 
size_t idxSecRange
 
size_t idxInverseRange
 
size_t idxLambda
 
size_t idxSubLambda
 
std::vector< G4doubletheDEDXAtMaxEnergy
 
std::vector< G4doubletheRangeAtMaxEnergy
 
std::vector< G4doubletheEnergyOfCrossSectionMax
 
std::vector< G4doubletheCrossSectionMax
 
const std::vector< G4double > * theDensityFactor
 
const std::vector< G4int > * theDensityIdx
 
const G4DataVectortheCuts
 
const G4DataVectortheSubCuts
 
const G4ParticleDefinitionbaseParticle
 
G4int nBins
 
G4int nBinsCSDA
 
G4double lowestKinEnergy
 
G4double minKinEnergy
 
G4double maxKinEnergy
 
G4double maxKinEnergyCSDA
 
G4double linLossLimit
 
G4double dRoverRange
 
G4double finalRange
 
G4double lambdaFactor
 
G4double biasFactor
 
G4bool lossFluctuationFlag
 
G4bool rndmStepFlag
 
G4bool tablesAreBuilt
 
G4bool integral
 
G4bool isIon
 
G4bool isIonisation
 
G4bool useSubCutoff
 
G4bool useDeexcitation
 
G4bool biasFlag
 
G4bool weightFlag
 
G4bool isMaster
 
G4bool actIntegral
 
G4bool actStepFunc
 
G4bool actLinLossLimit
 
G4bool actLossFluc
 
G4bool actBinning
 
G4bool actMinKinEnergy
 
G4bool actMaxKinEnergy
 
std::vector< G4DynamicParticle * > secParticles
 
std::vector< G4Track * > scTracks
 
const G4ParticleDefinitionparticle
 
G4VEmModelcurrentModel
 
const G4MaterialcurrentMaterial
 
const G4MaterialCutsCouplecurrentCouple
 
size_t currentCoupleIndex
 
size_t basedCoupleIndex
 
size_t lastIdx
 
G4double massRatio
 
G4double fFactor
 
G4double reduceFactor
 
G4double chargeSqRatio
 
G4double preStepLambda
 
G4double fRange
 
G4double computedRange
 
G4double preStepKinEnergy
 
G4double preStepScaledEnergy
 
G4double preStepRangeEnergy
 
G4double mfpKinEnergy
 
G4GPILSelection aGPILSelection
 
G4int secID
 
G4int subsecID
 
G4int biasID
 

Additional Inherited Members

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

Constructor & Destructor Documentation

G4VEnergyLossProcess ( const G4String name = "EnergyLoss",
G4ProcessType  type = fElectromagnetic 
)
virtual ~G4VEnergyLossProcess ( )
virtual

Member Function Documentation

void Clean ( )
private
virtual void ProcessDescription ( std::ostream &  outFile) const
overridevirtual
virtual void StreamProcessInfo ( std::ostream &  ,
G4String   
) const
protectedvirtual
virtual void PreparePhysicsTable ( const G4ParticleDefinition )
overridevirtual

Reimplemented from G4VProcess.

virtual void BuildPhysicsTable ( const G4ParticleDefinition )
overridevirtual

Reimplemented from G4VProcess.

Reimplemented in G4ePolarizedIonisation.

G4PhysicsTable* BuildDEDXTable ( G4EmTableType  tType = fRestricted)
G4PhysicsTable* BuildLambdaTable ( G4EmTableType  tType = fRestricted)
virtual void StartTracking ( G4Track )
overridevirtual

Reimplemented from G4VProcess.

virtual G4double AlongStepGetPhysicalInteractionLength ( const G4Track ,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double currentSafety,
G4GPILSelection selection 
)
overridevirtual

Reimplemented from G4VContinuousDiscreteProcess.

virtual G4double PostStepGetPhysicalInteractionLength ( const G4Track track,
G4double  previousStepSize,
G4ForceCondition condition 
)
overridevirtual

Reimplemented from G4VContinuousDiscreteProcess.

Reimplemented in G4ePolarizedIonisation.

virtual G4VParticleChange* AlongStepDoIt ( const G4Track ,
const G4Step  
)
overridevirtual

Reimplemented from G4VContinuousDiscreteProcess.

G4double SampleSubCutSecondaries ( std::vector< G4Track * > &  ,
const G4Step ,
G4VEmModel model,
G4int  matIdx 
)
virtual G4VParticleChange* PostStepDoIt ( const G4Track ,
const G4Step  
)
overridevirtual

Reimplemented from G4VContinuousDiscreteProcess.

virtual G4bool StorePhysicsTable ( const G4ParticleDefinition ,
const G4String directory,
G4bool  ascii = false 
)
overridevirtual

Reimplemented from G4VProcess.

virtual G4bool RetrievePhysicsTable ( const G4ParticleDefinition ,
const G4String directory,
G4bool  ascii 
)
overridevirtual

Reimplemented from G4VProcess.

void StreamInfo ( std::ostream &  out,
const G4ParticleDefinition part,
G4String  endOfLine = G4String("\n") 
) const
private
G4bool StoreTable ( const G4ParticleDefinition p,
G4PhysicsTable ,
G4bool  ascii,
const G4String directory,
const G4String tname 
)
private
G4bool RetrieveTable ( const G4ParticleDefinition p,
G4PhysicsTable ,
G4bool  ascii,
const G4String directory,
const G4String tname,
G4bool  mandatory 
)
private
G4double GetDEDXDispersion ( const G4MaterialCutsCouple couple,
const G4DynamicParticle dp,
G4double  length 
)
G4double CrossSectionPerVolume ( G4double  kineticEnergy,
const G4MaterialCutsCouple couple 
)
G4double MeanFreePath ( const G4Track track)
G4double ContinuousStepLimit ( const G4Track track,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double currentSafety 
)
virtual G4double GetMeanFreePath ( const G4Track track,
G4double  previousStepSize,
G4ForceCondition condition 
)
overrideprotectedvirtual
virtual G4double GetContinuousStepLimit ( const G4Track track,
G4double  previousStepSize,
G4double  currentMinimumStep,
G4double currentSafety 
)
overrideprotectedvirtual
G4PhysicsVector* LambdaPhysicsVector ( const G4MaterialCutsCouple ,
G4double  cut 
)
protected
size_t CurrentMaterialCutsCoupleIndex ( ) const
protected

References currentCoupleIndex.

G4VEmModel * SelectModelForMaterial ( G4double  kinEnergy,
size_t idx 
) const
void AddEmModel ( G4int  ,
G4VEmModel ,
G4VEmFluctuationModel fluc = 0,
const G4Region region = nullptr 
)
void UpdateEmModel ( const G4String ,
G4double  ,
G4double   
)
void SetEmModel ( G4VEmModel ,
G4int  index = 0 
)
G4VEmModel* EmModel ( size_t  index = 0) const
G4VEmModel* GetModelByIndex ( G4int  idx = 0,
G4bool  ver = false 
) const
G4int NumberOfModels ( ) const
void SetFluctModel ( G4VEmFluctuationModel p)

References fluctModel.

G4VEmFluctuationModel * FluctModel ( )

References fluctModel.

void SetParticle ( const G4ParticleDefinition p)
protected

References particle.

void SetSecondaryParticle ( const G4ParticleDefinition p)
protected

References secondaryParticle.

void SetBaseParticle ( const G4ParticleDefinition p)

References baseParticle.

const G4ParticleDefinition * Particle ( ) const

References particle.

const G4ParticleDefinition * BaseParticle ( ) const

References baseParticle.

const G4ParticleDefinition * SecondaryParticle ( ) const

References secondaryParticle.

void ActivateSubCutoff ( G4bool  val,
const G4Region region = nullptr 
)
void SetCrossSectionBiasingFactor ( G4double  f,
G4bool  flag = true 
)
void ActivateForcedInteraction ( G4double  length,
const G4String region,
G4bool  flag = true 
)
void ActivateSecondaryBiasing ( const G4String region,
G4double  factor,
G4double  energyLimit 
)
void AddCollaborativeProcess ( G4VEnergyLossProcess )
void SetLossFluctuations ( G4bool  val)

References actLossFluc, and lossFluctuationFlag.

void SetIntegral ( G4bool  val)

References actIntegral, and integral.

G4bool IsIntegral ( ) const

References integral.

void SetIonisation ( G4bool  val)
G4bool IsIonisationProcess ( ) const

References isIonisation.

void SetLinearLossLimit ( G4double  val)
void SetStepFunction ( G4double  v1,
G4double  v2,
G4bool  lock = true 
)
void SetLowestEnergyLimit ( G4double  )
G4int NumberOfSubCutoffRegions ( ) const

References nSCoffRegions.

void SetDEDXTable ( G4PhysicsTable p,
G4EmTableType  tType 
)
void SetCSDARangeTable ( G4PhysicsTable pRange)
void SetRangeTableForLoss ( G4PhysicsTable p)
void SetSecondaryRangeTable ( G4PhysicsTable p)
void SetInverseRangeTable ( G4PhysicsTable p)
void SetLambdaTable ( G4PhysicsTable p)
void SetSubLambdaTable ( G4PhysicsTable p)
void SetDEDXBinning ( G4int  nbins)
void SetMinKinEnergy ( G4double  e)
G4double MinKinEnergy ( ) const

References minKinEnergy.

void SetMaxKinEnergy ( G4double  e)
G4double MaxKinEnergy ( ) const

References maxKinEnergy.

G4double CrossSectionBiasingFactor ( ) const

References biasFactor.

G4double GetDEDXForSubsec ( G4double kineticEnergy,
const G4MaterialCutsCouple couple 
)
G4double GetLambda ( G4double kineticEnergy,
const G4MaterialCutsCouple couple 
)
G4bool TablesAreBuilt ( ) const

References tablesAreBuilt.

G4PhysicsTable * DEDXTable ( ) const

References theDEDXTable.

G4PhysicsTable * DEDXTableForSubsec ( ) const

References theDEDXSubTable.

G4PhysicsTable * DEDXunRestrictedTable ( ) const
G4PhysicsTable * IonisationTable ( ) const

References theIonisationTable.

G4PhysicsTable * IonisationTableForSubsec ( ) const

References theIonisationSubTable.

G4PhysicsTable * CSDARangeTable ( ) const

References theCSDARangeTable.

G4PhysicsTable * SecondaryRangeTable ( ) const
G4PhysicsTable * RangeTableForLoss ( ) const

References theRangeTableForLoss.

G4PhysicsTable * InverseRangeTable ( ) const

References theInverseRangeTable.

G4PhysicsTable * LambdaTable ( ) const

References theLambdaTable.

G4PhysicsTable * SubLambdaTable ( ) const

References theSubLambdaTable.

const G4Element* GetCurrentElement ( ) const
void SetDynamicMassCharge ( G4double  massratio,
G4double  charge2ratio 
)
void FillSecondariesAlongStep ( G4double eloss,
G4double weight 
)
private
void PrintWarning ( G4String  ,
G4double  val 
)
private
G4double GetDEDXForScaledEnergy ( G4double  scaledKinEnergy)
private

References basedCoupleIndex, fFactor, idxDEDX, and minKinEnergy.

Referenced by GetDEDX().

G4double GetSubDEDXForScaledEnergy ( G4double  scaledKinEnergy)
private
G4double GetIonisationForScaledEnergy ( G4double  scaledKinEnergy)
private
G4double GetSubIonisationForScaledEnergy ( G4double  scaledKinEnergy)
private
G4double GetScaledRangeForScaledEnergy ( G4double  scaledKinEnergy)
private
G4double GetLimitScaledRangeForScaledEnergy ( G4double  scaledKinEnergy)
private
G4double ScaledKinEnergyForLoss ( G4double  range)
private
G4double GetLambdaForScaledEnergy ( G4double  scaledKinEnergy)
private
G4VEnergyLossProcess& operator= ( const G4VEnergyLossProcess right)
privatedelete

Member Data Documentation

G4LossTableManager* lManager
private
G4EmModelManager* modelManager
private
G4EmBiasingManager* biasManager
private
G4SafetyHelper* safetyHelper
private
G4EmParameters* theParameters
private
const G4ParticleDefinition* secondaryParticle
private
const G4ParticleDefinition* theElectron
private
const G4ParticleDefinition* thePositron
private
const G4ParticleDefinition* theGamma
private
const G4ParticleDefinition* theGenericIon
private
std::vector<G4VEmModel*> emModels
private
G4VEmFluctuationModel* fluctModel
private

Referenced by FluctModel(), and SetFluctModel().

G4VAtomDeexcitation* atomDeexcitation
private
G4VSubCutProducer* subcutProducer
private
std::vector<const G4Region*> scoffRegions
private
G4int nSCoffRegions
private
G4bool* idxSCoffRegions
private
std::vector<G4VEnergyLossProcess*> scProcesses
private
G4int nProcesses
private
G4PhysicsTable* theDEDXTable
private

Referenced by DEDXTable().

G4PhysicsTable* theDEDXSubTable
private

Referenced by DEDXTableForSubsec().

G4PhysicsTable* theDEDXunRestrictedTable
private

Referenced by DEDXunRestrictedTable().

G4PhysicsTable* theIonisationTable
private

Referenced by IonisationTable().

G4PhysicsTable* theIonisationSubTable
private
G4PhysicsTable* theRangeTableForLoss
private

Referenced by GetRange(), and RangeTableForLoss().

G4PhysicsTable* theCSDARangeTable
private
G4PhysicsTable* theSecondaryRangeTable
private

Referenced by SecondaryRangeTable().

G4PhysicsTable* theInverseRangeTable
private

Referenced by InverseRangeTable().

G4PhysicsTable* theLambdaTable
private

Referenced by GetLambda(), and LambdaTable().

G4PhysicsTable* theSubLambdaTable
private

Referenced by SubLambdaTable().

size_t idxDEDX
private

Referenced by GetDEDXForScaledEnergy().

size_t idxDEDXSub
private
size_t idxDEDXunRestricted
private
size_t idxIonisation
private
size_t idxIonisationSub
private
size_t idxRange
private
size_t idxCSDA
private
size_t idxSecRange
private
size_t idxInverseRange
private

Referenced by ScaledKinEnergyForLoss().

size_t idxLambda
private
size_t idxSubLambda
private

Referenced by DefineMaterial().

std::vector<G4double> theDEDXAtMaxEnergy
private
std::vector<G4double> theRangeAtMaxEnergy
private
std::vector<G4double> theEnergyOfCrossSectionMax
private
std::vector<G4double> theCrossSectionMax
private
const std::vector<G4double>* theDensityFactor
private
const std::vector<G4int>* theDensityIdx
private
const G4DataVector* theCuts
private
const G4DataVector* theSubCuts
private
const G4ParticleDefinition* baseParticle
private

Referenced by BaseParticle(), and SetBaseParticle().

G4int nBins
private
G4int nBinsCSDA
private
G4double lowestKinEnergy
private
G4double maxKinEnergy
private

Referenced by MaxKinEnergy().

G4double maxKinEnergyCSDA
private
G4double linLossLimit
private
G4double dRoverRange
private
G4double finalRange
private
G4double lambdaFactor
private
G4bool lossFluctuationFlag
private

Referenced by SetLossFluctuations().

G4bool rndmStepFlag
private
G4bool tablesAreBuilt
private

Referenced by TablesAreBuilt().

G4bool integral
private

Referenced by IsIntegral(), and SetIntegral().

G4bool isIon
private
G4bool isIonisation
private

Referenced by IsIonisationProcess().

G4bool useSubCutoff
private
G4bool useDeexcitation
private
G4bool biasFlag
private
G4bool weightFlag
private
G4bool isMaster
private
G4bool actIntegral
private

Referenced by SetIntegral().

G4bool actStepFunc
private
G4bool actLinLossLimit
private
G4bool actLossFluc
private

Referenced by SetLossFluctuations().

G4bool actBinning
private
G4bool actMinKinEnergy
private
G4bool actMaxKinEnergy
private
G4ParticleChangeForLoss fParticleChange
protected
std::vector<G4DynamicParticle*> secParticles
private
std::vector<G4Track*> scTracks
private
const G4ParticleDefinition* particle
private

Referenced by Particle(), and SetParticle().

G4VEmModel* currentModel
private

Referenced by SelectModel().

const G4Material* currentMaterial
private

Referenced by DefineMaterial().

const G4MaterialCutsCouple* currentCouple
private

Referenced by DefineMaterial(), and SelectModel().

size_t lastIdx
private
G4double chargeSqRatio
private
G4double preStepLambda
private
G4double fRange
private

Referenced by GetRange().

G4double computedRange
private
G4double preStepKinEnergy
private
G4double preStepScaledEnergy
private
G4double preStepRangeEnergy
private
G4double mfpKinEnergy
private
G4GPILSelection aGPILSelection
private
G4int secID
private
G4int subsecID
private
G4int biasID
private