Geant4  10.02.p01
G4VITProcess Class Reference

G4VITProcess inherits from G4VProcess. More...

#include <G4VITProcess.hh>

+ Inheritance diagram for G4VITProcess:
+ Collaboration diagram for G4VITProcess:

Classes

struct  G4ProcessState
 
class  G4ProcessStateBase
 

Public Member Functions

 G4VITProcess (const G4String &name, G4ProcessType type=fNotDefined)
 
virtual ~G4VITProcess ()
 
 G4VITProcess (const G4VITProcess &other)
 
G4VITProcessoperator= (const G4VITProcess &other)
 
G4int operator== (const G4VITProcess &right) const
 
G4int operator!= (const G4VITProcess &right) const
 
size_t GetProcessID () const
 
G4shared_ptr< G4ProcessState_LockGetProcessState ()
 
void SetProcessState (G4shared_ptr< G4ProcessState_Lock > aProcInfo)
 
void ResetProcessState ()
 
virtual void StartTracking (G4Track *)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
G4double GetInteractionTimeLeft ()
 
virtual void ResetNumberOfInteractionLengthLeft ()
 WARNING : Redefine the method of G4VProcess reset (determine the value of)NumberOfInteractionLengthLeft. More...
 
G4bool ProposesTimeStep () const
 
- 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
 
virtual G4VParticleChangePostStepDoIt (const G4Track &track, const G4Step &stepData)=0
 
virtual G4VParticleChangeAlongStepDoIt (const G4Track &track, const G4Step &stepData)=0
 
virtual G4VParticleChangeAtRestDoIt (const G4Track &track, const G4Step &stepData)=0
 
virtual G4double AlongStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4double currentMinimumStep, G4double &proposedSafety, G4GPILSelection *selection)=0
 
virtual G4double AtRestGetPhysicalInteractionLength (const G4Track &track, G4ForceCondition *condition)=0
 
virtual G4double PostStepGetPhysicalInteractionLength (const G4Track &track, G4double previousStepSize, G4ForceCondition *condition)=0
 
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 G4bool IsApplicable (const G4ParticleDefinition &)
 
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 EndTracking ()
 
virtual void SetProcessManager (const G4ProcessManager *)
 
virtual const G4ProcessManagerGetProcessManager ()
 
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 &)
 

Static Public Member Functions

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

Protected Member Functions

void RetrieveProcessInfo ()
 
void CreateInfo ()
 
template<typename T >
T * GetState ()
 
virtual void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
virtual void ClearInteractionTimeLeft ()
 
virtual void ClearNumberOfInteractionLengthLeft ()
 
void SetInstantiateProcessState (G4bool flag)
 
G4bool InstantiateProcessState ()
 
- Protected Member Functions inherited from G4VProcess
void SubtractNumberOfInteractionLengthLeft (G4double previousStepSize)
 
void ClearNumberOfInteractionLengthLeft ()
 

Protected Attributes

G4shared_ptr< G4ProcessStatefpState
 
G4bool fProposesTimeStep
 
- 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 Attributes

size_t fProcessID
 
static size_t * fNbProcess = 0
 
G4bool fInstantiateProcessState
 
G4doubletheNumberOfInteractionLengthLeft
 
G4doublecurrentInteractionLength
 
G4doubletheInteractionTimeLeft
 

Detailed Description

G4VITProcess inherits from G4VProcess.

A G4VITProcess is able to save its current state for a given track into G4IT. This state may be retrieve latter on to be used by the G4VITProcess. Each G4VITProcess is tagged.

Definition at line 99 of file G4VITProcess.hh.

Constructor & Destructor Documentation

G4VITProcess::G4VITProcess ( const G4String name,
G4ProcessType  type = fNotDefined 
)

Definition at line 35 of file G4VITProcess.cc.

References currentInteractionLength, fNbProcess, fProcessID, fProposesTimeStep, fpState, SetInstantiateProcessState(), theInteractionTimeLeft, and theNumberOfInteractionLengthLeft.

+ Here is the call graph for this function:

G4VITProcess::~G4VITProcess ( )
virtual

Definition at line 61 of file G4VITProcess.cc.

G4VITProcess::G4VITProcess ( const G4VITProcess other)

Member Function Documentation

virtual void G4VITProcess::BuildPhysicsTable ( const G4ParticleDefinition )
inlinevirtual
void G4VITProcess::ClearInteractionTimeLeft ( )
inlineprotectedvirtual

Definition at line 269 of file G4VITProcess.hh.

References fpState.

Referenced by G4DNAElectronHoleRecombination::AtRestDoIt(), G4VITRestProcess::AtRestDoIt(), and G4DNAMolecularDissociation::AtRestDoIt().

+ Here is the caller graph for this function:

void G4VITProcess::ClearNumberOfInteractionLengthLeft ( )
inlineprotectedvirtual

Definition at line 274 of file G4VITProcess.hh.

References fpState.

Referenced by G4DNAElectronHoleRecombination::AtRestDoIt(), G4VITRestProcess::AtRestDoIt(), G4VITRestDiscreteProcess::AtRestDoIt(), G4DNAMolecularDissociation::AtRestDoIt(), G4VITDiscreteProcess::PostStepDoIt(), and G4VITRestDiscreteProcess::PostStepDoIt().

+ Here is the caller graph for this function:

void G4VITProcess::CreateInfo ( )
protected
G4double G4VITProcess::GetInteractionTimeLeft ( )
inline

Definition at line 284 of file G4VITProcess.hh.

References fpState.

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength().

+ Here is the caller graph for this function:

const size_t & G4VITProcess::GetMaxProcessIndex ( )
inlinestatic

Definition at line 296 of file G4VITProcess.hh.

References fNbProcess.

Referenced by G4TrackingInformation::GetProcessState().

+ Here is the caller graph for this function:

size_t G4VITProcess::GetProcessID ( ) const
inline

Definition at line 116 of file G4VITProcess.hh.

References fProcessID.

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength(), and G4ITStepProcessor::GetAtRestIL().

+ Here is the caller graph for this function:

G4shared_ptr<G4ProcessState_Lock> G4VITProcess::GetProcessState ( )
inline

Definition at line 131 of file G4VITProcess.hh.

References UpcastProcessState.

template<typename T >
T* G4VITProcess::GetState ( )
inlineprotected

Definition at line 223 of file G4VITProcess.hh.

References fpState.

G4bool G4VITProcess::InstantiateProcessState ( )
inlineprotected

Definition at line 245 of file G4VITProcess.hh.

References fInstantiateProcessState.

Referenced by StartTracking().

+ Here is the caller graph for this function:

G4int G4VITProcess::operator!= ( const G4VITProcess right) const
G4VITProcess & G4VITProcess::operator= ( const G4VITProcess other)

Definition at line 79 of file G4VITProcess.cc.

G4int G4VITProcess::operator== ( const G4VITProcess right) const
G4bool G4VITProcess::ProposesTimeStep ( ) const
inline

Definition at line 291 of file G4VITProcess.hh.

References fProposesTimeStep.

Referenced by G4DNABrownianTransportation::ComputeStep(), and G4ITStepProcessor::DoDefinePhysicalStepLength().

+ Here is the caller graph for this function:

void G4VITProcess::ResetNumberOfInteractionLengthLeft ( )
inlinevirtual

WARNING : Redefine the method of G4VProcess reset (determine the value of)NumberOfInteractionLengthLeft.

Reimplemented from G4VProcess.

Definition at line 279 of file G4VITProcess.hh.

References fpState, and G4UniformRand.

Referenced by G4VITRestProcess::AtRestGetPhysicalInteractionLength(), G4VITRestDiscreteProcess::AtRestGetPhysicalInteractionLength(), G4VITDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), and G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength().

+ Here is the caller graph for this function:

void G4VITProcess::ResetProcessState ( )
inline

Definition at line 141 of file G4VITProcess.hh.

References fpState.

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength(), and G4ITStepProcessor::GetAtRestIL().

+ Here is the caller graph for this function:

void G4VITProcess::RetrieveProcessInfo ( )
protected
void G4VITProcess::SetInstantiateProcessState ( G4bool  flag)
inlineprotected

Definition at line 240 of file G4VITProcess.hh.

References fInstantiateProcessState.

Referenced by G4DNAElectronHoleRecombination::Create(), G4DNASecondOrderReaction::Create(), G4ITTransportation::G4ITTransportation(), and G4VITProcess().

+ Here is the caller graph for this function:

void G4VITProcess::SetProcessState ( G4shared_ptr< G4ProcessState_Lock aProcInfo)
inline

Definition at line 136 of file G4VITProcess.hh.

References DowncastState, and fpState.

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength(), and G4ITStepProcessor::GetAtRestIL().

+ Here is the caller graph for this function:

void G4VITProcess::StartTracking ( G4Track track)
virtual

Reimplemented from G4VProcess.

Reimplemented in G4DNABrownianTransportation, G4ITTransportation, G4DNASecondOrderReaction, and G4DNAElectronHoleRecombination.

Definition at line 86 of file G4VITProcess.cc.

References currentInteractionLength, fProcessID, fpState, GetIT(), G4IT::GetTrackingInfo(), InstantiateProcessState(), G4TrackingInformation::RecordProcessState(), theInteractionTimeLeft, and theNumberOfInteractionLengthLeft.

Referenced by G4DNAElectronHoleRecombination::StartTracking(), G4DNASecondOrderReaction::StartTracking(), and G4ITTransportation::StartTracking().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4VITProcess::SubtractNumberOfInteractionLengthLeft ( G4double  previousStepSize)
inlineprotectedvirtual

Definition at line 303 of file G4VITProcess.hh.

References EventMustBeAborted, fpState, G4cerr, G4endl, G4Exception(), perMillion, G4VProcess::theProcessName, and G4VProcess::verboseLevel.

Referenced by G4VITDiscreteProcess::PostStepGetPhysicalInteractionLength(), G4DNASecondOrderReaction::PostStepGetPhysicalInteractionLength(), and G4VITRestDiscreteProcess::PostStepGetPhysicalInteractionLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double* G4VITProcess::currentInteractionLength
private

Definition at line 265 of file G4VITProcess.hh.

Referenced by G4VITProcess(), and StartTracking().

G4bool G4VITProcess::fInstantiateProcessState
private
size_t * G4VITProcess::fNbProcess = 0
private

Definition at line 259 of file G4VITProcess.hh.

Referenced by G4VITProcess(), and GetMaxProcessIndex().

size_t G4VITProcess::fProcessID
private

Definition at line 254 of file G4VITProcess.hh.

Referenced by G4VITProcess(), GetProcessID(), and StartTracking().

G4double* G4VITProcess::theNumberOfInteractionLengthLeft
private

Definition at line 264 of file G4VITProcess.hh.

Referenced by G4VITProcess(), and StartTracking().


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