Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Data Structures | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
G4VITProcess Class Reference

#include <G4VITProcess.hh>

Inheritance diagram for G4VITProcess:
G4VProcess G4DNASecondOrderReaction G4ITTransportation G4VITRestDiscreteProcess G4VITRestProcess G4DNABrownianTransportation G4DNAMolecularDissociation

Data Structures

struct  G4ProcessState
 

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
 
G4ProcessState_LockGetProcessState ()
 
void SetProcessState (G4ProcessState_Lock *aProcInfo)
 
virtual void StartTracking (G4Track *)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
G4double GetInteractionTimeLeft ()
 
virtual void ResetNumberOfInteractionLengthLeft ()
 
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 ()
 
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

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
 

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 63 of file G4VITProcess.hh.

Constructor & Destructor Documentation

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

Definition at line 34 of file G4VITProcess.cc.

References fProposesTimeStep, and SetInstantiateProcessState().

34  :
35  G4VProcess( name, type ),
36  fpState (0)//,
37  //fProcessID(fNbProcess)
38 {
39  if (!fNbProcess) fNbProcess = new size_t (0);
40  fProcessID = *fNbProcess;
41  (*fNbProcess)++;
43  currentInteractionLength = 0;
44  theInteractionTimeLeft = 0;
45  theNumberOfInteractionLengthLeft = 0;
46  fProposesTimeStep = false;
47 }
G4VProcess(const G4String &aName="NoName", G4ProcessType aType=fNotDefined)
Definition: G4VProcess.cc:52
G4ProcessState * fpState
void SetInstantiateProcessState(G4bool flag)
G4bool fProposesTimeStep
G4VITProcess::~G4VITProcess ( )
virtual

Definition at line 59 of file G4VITProcess.cc.

60 {
61  //dtor
62  // As the owner, G4IT should delete fProcessState
63 }
G4VITProcess::G4VITProcess ( const G4VITProcess other)

Definition at line 65 of file G4VITProcess.cc.

References fProposesTimeStep, and fpState.

65  : G4VProcess(other), fProcessID(other.fProcessID)
66 {
67  //copy ctor
68  fpState = 0 ;
69  currentInteractionLength = 0;
70  theInteractionTimeLeft = 0;
71  theNumberOfInteractionLengthLeft = 0;
72  fInstantiateProcessState = other.fInstantiateProcessState;
74 }
G4VProcess(const G4String &aName="NoName", G4ProcessType aType=fNotDefined)
Definition: G4VProcess.cc:52
G4ProcessState * fpState
G4bool fProposesTimeStep

Member Function Documentation

virtual void G4VITProcess::BuildPhysicsTable ( const G4ParticleDefinition )
inlinevirtual

Reimplemented from G4VProcess.

Reimplemented in G4ITTransportation, G4DNASecondOrderReaction, and G4DNABrownianTransportation.

Definition at line 100 of file G4VITProcess.hh.

100 {}
void G4VITProcess::ClearInteractionTimeLeft ( )
inlineprotectedvirtual

Definition at line 174 of file G4VITProcess.hh.

References fpState, and G4VITProcess::G4ProcessState::theInteractionTimeLeft.

Referenced by G4DNAMolecularDissociation::AtRestDoIt().

175 {
177 }
G4ProcessState * fpState
void G4VITProcess::ClearNumberOfInteractionLengthLeft ( )
inlineprotectedvirtual
void G4VITProcess::CreateInfo ( )
protected
G4double G4VITProcess::GetInteractionTimeLeft ( )
inline

Definition at line 189 of file G4VITProcess.hh.

References fpState, and G4VITProcess::G4ProcessState::theInteractionTimeLeft.

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength().

190 {
191  if(fpState)
193 
194  return -1 ;
195 }
G4ProcessState * fpState
const size_t & G4VITProcess::GetMaxProcessIndex ( )
inlinestatic

Definition at line 202 of file G4VITProcess.hh.

Referenced by G4TrackingInformation::GetProcessState().

203 {
204  if (!fNbProcess) fNbProcess = new size_t ( 0);
205  return *fNbProcess ;
206 }
size_t G4VITProcess::GetProcessID ( ) const
inline
G4ProcessState_Lock* G4VITProcess::GetProcessState ( )
inline

Definition at line 85 of file G4VITProcess.hh.

References fpState.

86  {
87  return fpState;
88  }
G4ProcessState * fpState
G4bool G4VITProcess::InstantiateProcessState ( )
inlineprotected

Definition at line 153 of file G4VITProcess.hh.

Referenced by StartTracking().

153 { return fInstantiateProcessState; }
G4int G4VITProcess::operator!= ( const G4VITProcess right) const
G4VITProcess & G4VITProcess::operator= ( const G4VITProcess other)

Definition at line 76 of file G4VITProcess.cc.

77 {
78  if (this == &rhs) return *this; // handle self assignment
79  //assignment operator
80  return *this;
81 }
G4int G4VITProcess::operator== ( const G4VITProcess right) const
G4bool G4VITProcess::ProposesTimeStep ( ) const
inline

Definition at line 197 of file G4VITProcess.hh.

References fProposesTimeStep.

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

198 {
199  return fProposesTimeStep;
200 }
G4bool fProposesTimeStep
void G4VITProcess::ResetNumberOfInteractionLengthLeft ( )
inlinevirtual
void G4VITProcess::RetrieveProcessInfo ( )
protected
void G4VITProcess::SetInstantiateProcessState ( G4bool  flag)
inlineprotected

Definition at line 150 of file G4VITProcess.hh.

Referenced by G4ITTransportation::G4ITTransportation(), and G4VITProcess().

151  { fInstantiateProcessState = flag; }
void G4VITProcess::SetProcessState ( G4ProcessState_Lock aProcInfo)
inline
void G4VITProcess::StartTracking ( G4Track track)
virtual

Reimplemented from G4VProcess.

Reimplemented in G4ITTransportation, G4DNABrownianTransportation, and G4DNASecondOrderReaction.

Definition at line 83 of file G4VITProcess.cc.

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

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

84 {
85  G4TrackingInformation* trackingInfo = GetIT(track)->GetTrackingInfo();
87  {
88  fpState = new G4ProcessState();
89  }
90 
91  theNumberOfInteractionLengthLeft = &(fpState->theNumberOfInteractionLengthLeft );
92  theInteractionTimeLeft = &(fpState->theInteractionTimeLeft );
93  currentInteractionLength = &(fpState->currentInteractionLength );
94  trackingInfo->RecordProcessState(fpState,fProcessID);
95  fpState = 0;
96 }
G4ProcessState * fpState
G4IT * GetIT(const G4Track *track)
Definition: G4IT.cc:48
void RecordProcessState(G4ProcessState_Lock *, size_t index)
G4TrackingInformation * GetTrackingInfo()
Definition: G4IT.hh:134
G4bool InstantiateProcessState()

Field Documentation

G4bool G4VITProcess::fProposesTimeStep
protected

Definition at line 155 of file G4VITProcess.hh.

Referenced by G4VITProcess(), and ProposesTimeStep().

G4ProcessState* G4VITProcess::fpState
protected

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