Geant4  10.01.p03
G4ITStepProcessor Class Reference

Its role is the same as G4StepManager : More...

#include <G4ITStepProcessor.hh>

+ Collaboration diagram for G4ITStepProcessor:

Classes

class  G4ITStepProcessorState
 
struct  ProcessGeneralInfo
 

Public Member Functions

 G4ITStepProcessor ()
 
virtual ~G4ITStepProcessor ()
 
void SetPreviousStepTime (G4double)
 
G4TrackGetTrack ()
 
G4StepGetStep ()
 
const G4StepGetStep () const
 
void SetStep (G4Step *val)
 
G4TrackVectorGetSecondaries ()
 
void SetTrackingManager (G4ITTrackingManager *trackMan)
 
G4ITTrackingManagerGetTrackingManager ()
 
virtual void Initialize ()
 
void ForceReInitialization ()
 
void DefinePhysicalStepLength (G4Track *)
 
void Stepping (G4Track *, const double &)
 
void FindTransportationStep ()
 
double GetInteractionTime ()
 
const G4TrackGetTrack () const
 
void CleanProcessor ()
 

Protected Member Functions

void SetupGeneralProcessInfo (G4ParticleDefinition *, G4ProcessManager *)
 
void ClearProcessInfo ()
 
void SetTrack (G4Track *)
 
void GetProcessInfo ()
 
void SetupMembers ()
 
void ResetSecondaries ()
 
void InitDefineStep ()
 
void SetInitialStep ()
 
void GetAtRestIL ()
 
void DoDefinePhysicalStepLength ()
 
void DoStepping ()
 
void ActiveOnlyITProcess ()
 
void ActiveOnlyITProcess (G4ProcessManager *)
 
void DealWithSecondaries (G4int &)
 
void InvokeAtRestDoItProcs ()
 
void InvokeAlongStepDoItProcs ()
 
void InvokePostStepDoItProcs ()
 
void InvokePSDIP (size_t)
 
void InvokeTransportationProc ()
 
void SetNavigator (G4ITNavigator *value)
 
G4double CalculateSafety ()
 
void ApplyProductionCut (G4Track *)
 
 G4ITStepProcessor (const G4ITStepProcessor &other)
 
G4ITStepProcessoroperator= (const G4ITStepProcessor &other)
 

Private Attributes

G4bool fInitialized
 
G4ITTrackingManagerfpTrackingManager
 
G4double kCarTolerance
 
G4ITNavigator * fpNavigator
 
G4int fStoreTrajectory
 
G4int verboseLevel
 
G4double fTimeStep
 
G4double fPreviousTimeStep
 
G4TrackVectorfpSecondary
 
G4VParticleChangefpParticleChange
 
G4VITProcessfpCurrentProcess
 
G4int fN2ndariesAtRestDoIt
 
G4int fN2ndariesAlongStepDoIt
 
G4int fN2ndariesPostStepDoIt
 
size_t fAtRestDoItProcTriggered
 
size_t fPostStepDoItProcTriggered
 
size_t fPostStepAtTimeDoItProcTriggered
 
G4ForceCondition fCondition
 
G4GPILSelection fGPILSelection
 
G4double fPhysIntLength
 
G4VPhysicalVolumefpCurrentVolume
 
std::map< const
G4ParticleDefinition
*, ProcessGeneralInfo * > 
fProcessGeneralInfoMap
 
ProcessGeneralInfofpProcessInfo
 
G4ITTransportationfpTransportation
 
G4TrackfpTrack
 
G4ITfpITrack
 
G4TrackingInformationfpTrackingInfo
 
G4ITStepProcessorStatefpState
 
G4StepfpStep
 
G4StepPointfpPreStepPoint
 
G4StepPointfpPostStepPoint
 

Detailed Description

Its role is the same as G4StepManager :

  • Find the minimum physical length and corresponding time step
  • Step one track BUT on a given time step.

Definition at line 89 of file G4ITStepProcessor.hh.

Constructor & Destructor Documentation

G4ITStepProcessor::G4ITStepProcessor ( )

Definition at line 63 of file G4ITStepProcessor.cc.

References DBL_MAX.

G4ITStepProcessor::~G4ITStepProcessor ( )
virtual

Definition at line 194 of file G4ITStepProcessor.cc.

References ClearProcessInfo(), G4Step::DeleteSecondaryVector(), fpSecondary, and fpStep.

+ Here is the call graph for this function:

G4ITStepProcessor::G4ITStepProcessor ( const G4ITStepProcessor other)
protected

Definition at line 210 of file G4ITStepProcessor.cc.

References CleanProcessor(), DBL_MAX, fInitialized, fpNavigator, fPreviousTimeStep, fpTrackingManager, fStoreTrajectory, kCarTolerance, ResetSecondaries(), and verboseLevel.

+ Here is the call graph for this function:

Member Function Documentation

void G4ITStepProcessor::ActiveOnlyITProcess ( )
protected
void G4ITStepProcessor::ActiveOnlyITProcess ( G4ProcessManager processManager)
protected

Definition at line 270 of file G4ITStepProcessor.cc.

References G4ProcessManager::GetProcessList(), G4ProcessManager::SetProcessActivation(), and G4ProcessVector::size().

+ Here is the call graph for this function:

void G4ITStepProcessor::ApplyProductionCut ( G4Track aSecondary)
protected
G4double G4ITStepProcessor::CalculateSafety ( )
inlineprotected

Definition at line 340 of file G4ITStepProcessor.hh.

References G4ITStepProcessor::G4ITStepProcessorState::endpointSafety, G4ITStepProcessor::G4ITStepProcessorState::endpointSafOrigin, fpPostStepPoint, fpState, G4StepPoint::GetPosition(), kCarTolerance, and G4INCL::Math::max().

+ Here is the call graph for this function:

void G4ITStepProcessor::CleanProcessor ( )
inline
void G4ITStepProcessor::ClearProcessInfo ( )
protected

Definition at line 148 of file G4ITStepProcessor.cc.

References fProcessGeneralInfoMap.

Referenced by ForceReInitialization(), and ~G4ITStepProcessor().

+ Here is the caller graph for this function:

void G4ITStepProcessor::DealWithSecondaries ( G4int counter)
protected
void G4ITStepProcessor::DefinePhysicalStepLength ( G4Track track)

Definition at line 523 of file G4ITStepProcessor.cc.

References DoDefinePhysicalStepLength(), and SetTrack().

Referenced by G4Scheduler::ComputeInteractionLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITStepProcessor::DoDefinePhysicalStepLength ( )
protected

Definition at line 778 of file G4ITStepProcessor.cc.

References G4VProcess::AlongStepGPIL(), CandidateForSelection, G4ITTransportation::ComputeStep(), Conditionally, DBL_MAX, ExclusivelyForced, fAlongStepDoItProc, FatalErrorInArgument, FatalException, fCondition, fExclusivelyForcedProc, fGeomBoundary, fGPILSelection, Forced, fpCurrentProcess, G4ITStepProcessor::G4ITStepProcessorState::fPhysicalStep, fPhysIntLength, fpITrack, fpNavigator, fPostStepAtTimeDoItProcTriggered, fPostStepDoItProc, fPostStepDoItProcTriggered, fpProcessInfo, G4ITStepProcessor::G4ITStepProcessorState::fPreviousStepSize, fpState, fpStep, fpTrack, fpTrackingInfo, fpTransportation, G4ITStepProcessor::G4ITStepProcessorState::fSelectedPostStepDoItVector, G4ITStepProcessor::G4ITStepProcessorState::fStepStatus, fStopAndKill, fStopButAlive, fTimeStep, fWorldBoundary, G4Exception(), GetAtRestIL(), G4VITProcess::GetInteractionTimeLeft(), G4Track::GetNextVolume(), G4Step::GetPostStepPoint(), G4VITProcess::GetProcessID(), G4TrackingInformation::GetProcessState(), G4IT::GetTrackingInfo(), G4Track::GetTrackStatus(), InActivated, InitDefineStep(), G4ITStepProcessor::ProcessGeneralInfo::MAXofAlongStepLoops, G4ITStepProcessor::ProcessGeneralInfo::MAXofPostStepLoops, NotForced, G4VProcess::PostStepGPIL(), G4ITStepProcessor::G4ITStepProcessorState::proposedSafety, G4VITProcess::ProposesTimeStep(), G4VITProcess::ResetProcessState(), G4TrackingInformation::SetNavigatorState(), G4StepPoint::SetProcessDefinedStep(), G4VITProcess::SetProcessState(), and StronglyForced.

Referenced by DefinePhysicalStepLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITStepProcessor::DoStepping ( )
protected

Definition at line 131 of file G4ITStepProcessor2.cc.

References FatalErrorInArgument, fAtRestDoItProc, fPostStepDoItProc, fStopAndKill, fStopButAlive, fUndefined, G4cout, G4endl, G4Exception(), GetIT(), JustWarning, G4INCL::Math::max(), and G4MemStat::MemoryUsage().

+ Here is the call graph for this function:

void G4ITStepProcessor::FindTransportationStep ( )

Definition at line 567 of file G4ITStepProcessor2.cc.

References DBL_MAX, FatalErrorInArgument, fStopAndKill, G4cout, G4endl, G4Exception(), GetIT(), and G4IT::GetName().

+ Here is the call graph for this function:

void G4ITStepProcessor::ForceReInitialization ( )

Definition at line 167 of file G4ITStepProcessor.cc.

References ClearProcessInfo(), fInitialized, and Initialize().

+ Here is the call graph for this function:

void G4ITStepProcessor::GetAtRestIL ( )
protected

Definition at line 467 of file G4ITStepProcessor.cc.

References G4VProcess::AtRestGPIL(), DBL_MAX, fAtRestDoItProcTriggered, fCondition, Forced, G4ITStepProcessor::ProcessGeneralInfo::fpAtRestGetPhysIntVector, fpCurrentProcess, fpProcessInfo, fpState, fpTrack, fpTrackingInfo, G4ITStepProcessor::G4ITStepProcessorState::fSelectedAtRestDoItVector, fTimeStep, G4cerr, G4endl, G4VITProcess::GetProcessID(), G4TrackingInformation::GetProcessState(), InActivated, G4ITStepProcessor::ProcessGeneralInfo::MAXofAtRestLoops, NotForced, G4VITProcess::ResetProcessState(), and G4VITProcess::SetProcessState().

Referenced by DoDefinePhysicalStepLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

double G4ITStepProcessor::GetInteractionTime ( )
inline

Definition at line 386 of file G4ITStepProcessor.hh.

References fTimeStep.

Referenced by G4Scheduler::ExtractILData().

+ Here is the caller graph for this function:

void G4ITStepProcessor::GetProcessInfo ( )
protected

Definition at line 419 of file G4ITStepProcessor.cc.

References FatalErrorInArgument, fpProcessInfo, fProcessGeneralInfoMap, fpTrack, G4Exception(), G4Track::GetDefinition(), G4ParticleDefinition::GetProcessManager(), and SetupGeneralProcessInfo().

Referenced by SetupMembers().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4TrackVector* G4ITStepProcessor::GetSecondaries ( )
inline

Definition at line 115 of file G4ITStepProcessor.hh.

References fpSecondary.

Referenced by G4Scheduler::ExtractDoItData(), and G4Scheduler::PushSecondaries().

+ Here is the caller graph for this function:

G4Step* G4ITStepProcessor::GetStep ( )
inline

Definition at line 102 of file G4ITStepProcessor.hh.

References fpStep.

const G4Step* G4ITStepProcessor::GetStep ( ) const
inline

Definition at line 106 of file G4ITStepProcessor.hh.

References fpStep.

G4Track* G4ITStepProcessor::GetTrack ( )
inline

Definition at line 98 of file G4ITStepProcessor.hh.

References fpTrack.

Referenced by G4Scheduler::ComputeInteractionLength(), G4Scheduler::ExtractDoItData(), and G4Scheduler::ExtractILData().

+ Here is the caller graph for this function:

const G4Track * G4ITStepProcessor::GetTrack ( ) const
inline

Definition at line 335 of file G4ITStepProcessor.hh.

References fpTrack.

G4ITTrackingManager* G4ITStepProcessor::GetTrackingManager ( )
inline

Definition at line 123 of file G4ITStepProcessor.hh.

References fpTrackingManager.

void G4ITStepProcessor::Initialize ( )
virtual

Definition at line 176 of file G4ITStepProcessor.cc.

References CleanProcessor(), DBL_MAX, fInitialized, fPhysIntLength, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), G4ITTransportationManager::GetTransportationManager(), kCarTolerance, and SetNavigator().

Referenced by ForceReInitialization(), and G4Scheduler::Process().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITStepProcessor::InvokeAlongStepDoItProcs ( )
protected

Definition at line 406 of file G4ITStepProcessor2.cc.

References DBL_MIN, fAlive, fExclusivelyForcedProc, fStopAndKill, fStopButAlive, G4cout, G4endl, and G4MemStat::MemoryUsage().

+ Here is the call graph for this function:

void G4ITStepProcessor::InvokeAtRestDoItProcs ( )
protected

Definition at line 355 of file G4ITStepProcessor2.cc.

References fStopAndKill, and InActivated.

void G4ITStepProcessor::InvokePostStepDoItProcs ( )
protected
void G4ITStepProcessor::InvokePSDIP ( size_t  np)
protected

Definition at line 532 of file G4ITStepProcessor2.cc.

void G4ITStepProcessor::InvokeTransportationProc ( )
protected
G4ITStepProcessor & G4ITStepProcessor::operator= ( const G4ITStepProcessor other)
protected

Definition at line 229 of file G4ITStepProcessor.cc.

void G4ITStepProcessor::ResetSecondaries ( )
protected

Definition at line 458 of file G4ITStepProcessor.cc.

References fN2ndariesAlongStepDoIt, fN2ndariesAtRestDoIt, and fN2ndariesPostStepDoIt.

Referenced by G4ITStepProcessor(), and SetupMembers().

+ Here is the caller graph for this function:

void G4ITStepProcessor::SetInitialStep ( )
protected
void G4ITStepProcessor::SetNavigator ( G4ITNavigator *  value)
inlineprotected

Definition at line 348 of file G4ITStepProcessor.hh.

References fpNavigator.

Referenced by Initialize().

+ Here is the caller graph for this function:

void G4ITStepProcessor::SetPreviousStepTime ( G4double  previousTimeStep)
inline

Definition at line 330 of file G4ITStepProcessor.hh.

References fPreviousTimeStep.

Referenced by G4Scheduler::ComputeInteractionLength().

+ Here is the caller graph for this function:

void G4ITStepProcessor::SetStep ( G4Step val)
inline

Definition at line 110 of file G4ITStepProcessor.hh.

void G4ITStepProcessor::SetTrack ( G4Track track)
protected

Definition at line 388 of file G4ITStepProcessor.cc.

References FatalErrorInArgument, fpITrack, fpStep, fpTrack, fpTrackingInfo, G4cerr, G4endl, G4Exception(), GetIT(), G4Track::GetStep(), G4Track::GetTrackID(), and G4IT::GetTrackingInfo().

Referenced by DefinePhysicalStepLength().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITStepProcessor::SetTrackingManager ( G4ITTrackingManager trackMan)
inline

Definition at line 119 of file G4ITStepProcessor.hh.

Referenced by G4Scheduler::Initialize().

+ Here is the caller graph for this function:

void G4ITStepProcessor::SetupGeneralProcessInfo ( G4ParticleDefinition particle,
G4ProcessManager pm 
)
protected
void G4ITStepProcessor::SetupMembers ( )
protected

Definition at line 444 of file G4ITStepProcessor.cc.

References fpITrack, fpPostStepPoint, fpPreStepPoint, fpSecondary, fpState, fpStep, G4Step::GetfSecondary(), G4Step::GetPostStepPoint(), G4Step::GetPreStepPoint(), GetProcessInfo(), G4TrackingInformation::GetStepProcessorState(), G4IT::GetTrackingInfo(), and ResetSecondaries().

Referenced by InitDefineStep().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ITStepProcessor::Stepping ( G4Track track,
const double &  timeStep 
)

Definition at line 102 of file G4ITStepProcessor2.cc.

References G4cout, G4endl, G4Track::GetTrackID(), and G4MemStat::MemoryUsage().

Referenced by G4Scheduler::DoIt().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

size_t G4ITStepProcessor::fAtRestDoItProcTriggered
private

Definition at line 225 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), and GetAtRestIL().

G4ForceCondition G4ITStepProcessor::fCondition
private

Definition at line 230 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), DoDefinePhysicalStepLength(), and GetAtRestIL().

G4GPILSelection G4ITStepProcessor::fGPILSelection
private

Definition at line 231 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), and DoDefinePhysicalStepLength().

G4bool G4ITStepProcessor::fInitialized
private

Definition at line 190 of file G4ITStepProcessor.hh.

Referenced by ForceReInitialization(), G4ITStepProcessor(), and Initialize().

G4int G4ITStepProcessor::fN2ndariesAlongStepDoIt
private

Definition at line 219 of file G4ITStepProcessor.hh.

Referenced by ResetSecondaries().

G4int G4ITStepProcessor::fN2ndariesAtRestDoIt
private

Definition at line 218 of file G4ITStepProcessor.hh.

Referenced by ResetSecondaries().

G4int G4ITStepProcessor::fN2ndariesPostStepDoIt
private

Definition at line 220 of file G4ITStepProcessor.hh.

Referenced by ResetSecondaries().

G4VITProcess* G4ITStepProcessor::fpCurrentProcess
private

Definition at line 213 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), DoDefinePhysicalStepLength(), and GetAtRestIL().

G4VPhysicalVolume* G4ITStepProcessor::fpCurrentVolume
private

Definition at line 244 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), InitDefineStep(), and SetInitialStep().

G4double G4ITStepProcessor::fPhysIntLength
private

Definition at line 237 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), DoDefinePhysicalStepLength(), and Initialize().

G4IT* G4ITStepProcessor::fpITrack
private
G4ITNavigator* G4ITStepProcessor::fpNavigator
private
size_t G4ITStepProcessor::fPostStepAtTimeDoItProcTriggered
private

Definition at line 227 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), and DoDefinePhysicalStepLength().

size_t G4ITStepProcessor::fPostStepDoItProcTriggered
private

Definition at line 226 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), and DoDefinePhysicalStepLength().

G4VParticleChange* G4ITStepProcessor::fpParticleChange
private

Definition at line 211 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor().

G4StepPoint* G4ITStepProcessor::fpPostStepPoint
private

Definition at line 327 of file G4ITStepProcessor.hh.

Referenced by CalculateSafety(), CleanProcessor(), and SetupMembers().

G4StepPoint* G4ITStepProcessor::fpPreStepPoint
private

Definition at line 326 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), and SetupMembers().

ProcessGeneralInfo* G4ITStepProcessor::fpProcessInfo
private
G4double G4ITStepProcessor::fPreviousTimeStep
private

Definition at line 209 of file G4ITStepProcessor.hh.

Referenced by G4ITStepProcessor(), and SetPreviousStepTime().

std::map<const G4ParticleDefinition*, ProcessGeneralInfo*> G4ITStepProcessor::fProcessGeneralInfoMap
private

Definition at line 275 of file G4ITStepProcessor.hh.

Referenced by ClearProcessInfo(), GetProcessInfo(), and SetupGeneralProcessInfo().

G4TrackVector* G4ITStepProcessor::fpSecondary
private
G4TrackingInformation* G4ITStepProcessor::fpTrackingInfo
private
G4ITTrackingManager* G4ITStepProcessor::fpTrackingManager
private

Definition at line 192 of file G4ITStepProcessor.hh.

Referenced by G4ITStepProcessor(), GetTrackingManager(), and SetInitialStep().

G4ITTransportation* G4ITStepProcessor::fpTransportation
private

Definition at line 278 of file G4ITStepProcessor.hh.

Referenced by CleanProcessor(), and DoDefinePhysicalStepLength().

G4int G4ITStepProcessor::fStoreTrajectory
private

Definition at line 200 of file G4ITStepProcessor.hh.

Referenced by G4ITStepProcessor().

G4double G4ITStepProcessor::fTimeStep
private
G4double G4ITStepProcessor::kCarTolerance
private

Definition at line 195 of file G4ITStepProcessor.hh.

Referenced by CalculateSafety(), G4ITStepProcessor(), and Initialize().

G4int G4ITStepProcessor::verboseLevel
private

Definition at line 201 of file G4ITStepProcessor.hh.

Referenced by G4ITStepProcessor().


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