Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4TrackingInformation Class Reference

#include <G4TrackingInformation.hh>

Public Member Functions

 G4TrackingInformation ()
 
 ~G4TrackingInformation ()
 
bool IsLeadingStep ()
 
void SetLeadingStep (bool value)
 
G4ProcessState_LockGetProcessState (size_t index)
 
void RecordProcessState (G4ProcessState_Lock *, size_t index)
 
void SetStepProcessorState (G4ITStepProcessorState_Lock *)
 
G4ITStepProcessorState_LockGetStepProcessorState ()
 
G4Trajectory_Lock * GetTrajectory_Lock ()
 
void SetTrajectory_Lock (G4Trajectory_Lock *trajLock)
 
void RecordCurrentPositionNTime (G4Track *)
 
const G4ThreeVectorGetPreStepPosition () const
 
G4double GetPreStepLocalTime () const
 
G4double GetPreStepGlobalTime () const
 
void SetNavigatorState (G4ITNavigatorState_Lock *)
 
G4ITNavigatorState_LockGetNavigatorState () const
 

Protected Member Functions

 G4TrackingInformation (const G4TrackingInformation &other)
 
G4TrackingInformationoperator= (const G4TrackingInformation &other)
 

Protected Attributes

G4bool fStepLeader
 
G4Trajectory_Lock * fpTrajectory_Lock
 
G4ThreeVector fRecordedTrackPosition
 
G4double fRecordedTrackLocalTime
 
G4double fRecordedTrackGlobalTime
 
G4ITNavigatorState_LockfNavigatorState
 
std::vector< G4ProcessState_Lock * > fProcessState
 
G4ITStepProcessorState_LockfpStepProcessorState
 

Friends

class G4ITStepProcessor
 

Detailed Description

The class G4TrackingInformation (hold by G4IT) emcompasses processes informations computed at the PS/AS/AtRest/InteractionLength stage, and also, the selection of processes for the given step.

Definition at line 79 of file G4TrackingInformation.hh.

Constructor & Destructor Documentation

◆ G4TrackingInformation() [1/2]

G4TrackingInformation::G4TrackingInformation ( )

Definition at line 41 of file G4TrackingInformation.cc.

41 :
42 fStepLeader (false),
44{
45 //ctor
51}
G4ITStepProcessorState_Lock * fpStepProcessorState
G4ITNavigatorState_Lock * fNavigatorState
G4Trajectory_Lock * fpTrajectory_Lock
std::vector< G4ProcessState_Lock * > fProcessState
static const size_t & GetMaxProcessIndex()

◆ ~G4TrackingInformation()

G4TrackingInformation::~G4TrackingInformation ( )

Definition at line 53 of file G4TrackingInformation.cc.

54{
55 //dtor
56 for(int i = 0 ; i < (int) fProcessState.size() - 1 ; i++)
57 {
58 if(fProcessState[i])
59 {
60 delete fProcessState[i];
61 fProcessState[i] = 0;
62 }
63 }
64 fProcessState.clear();
69}

◆ G4TrackingInformation() [2/2]

G4TrackingInformation::G4TrackingInformation ( const G4TrackingInformation other)
protected

Copy constructor

Parameters
otherObject to copy from

Definition at line 72 of file G4TrackingInformation.cc.

72 :
73 fStepLeader (false),
75{
76 //copy ctor
81}

Member Function Documentation

◆ GetNavigatorState()

G4ITNavigatorState_Lock * G4TrackingInformation::GetNavigatorState ( ) const
inline

Definition at line 203 of file G4TrackingInformation.hh.

204{
205 return fNavigatorState;
206}

Referenced by G4ITStepProcessor::DoStepping(), and G4ITStepProcessor::InitDefineStep().

◆ GetPreStepGlobalTime()

G4double G4TrackingInformation::GetPreStepGlobalTime ( ) const
inline

Definition at line 182 of file G4TrackingInformation.hh.

183{
185}

Referenced by G4IT::GetPreStepGlobalTime().

◆ GetPreStepLocalTime()

G4double G4TrackingInformation::GetPreStepLocalTime ( ) const
inline

Definition at line 187 of file G4TrackingInformation.hh.

188{
190}

Referenced by G4IT::GetPreStepLocalTime().

◆ GetPreStepPosition()

const G4ThreeVector & G4TrackingInformation::GetPreStepPosition ( ) const
inline

Definition at line 192 of file G4TrackingInformation.hh.

193{
195}

Referenced by G4IT::GetPreStepPosition().

◆ GetProcessState()

G4ProcessState_Lock * G4TrackingInformation::GetProcessState ( size_t  index)

Every process should store the information computed at the InteractionLegth stage in the track.

Definition at line 91 of file G4TrackingInformation.cc.

92{
94 {
95 G4ExceptionDescription exceptionDescription ;
96 exceptionDescription << "G4TrackingInformation::GetProcInfo : Wrong process subType : " ;
97 exceptionDescription << index ;
98 G4Exception("G4TrackingInformation::GetProcessState","G4TrackingInformation003",
99 FatalErrorInArgument,exceptionDescription);
100 }
101
102 return fProcessState[index];
103}
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength(), G4ITStepProcessor::FindTransportationStep(), G4ITStepProcessor::GetAtRestIL(), G4ITStepProcessor::InvokeAlongStepDoItProcs(), G4ITStepProcessor::InvokeAtRestDoItProcs(), and G4ITStepProcessor::InvokePSDIP().

◆ GetStepProcessorState()

G4ITStepProcessorState_Lock * G4TrackingInformation::GetStepProcessorState ( )
inline

Definition at line 170 of file G4TrackingInformation.hh.

171{
173}

Referenced by G4ITStepProcessor::SetupMembers().

◆ GetTrajectory_Lock()

G4Trajectory_Lock * G4TrackingInformation::GetTrajectory_Lock ( )
inline

Definition at line 106 of file G4TrackingInformation.hh.

107 {
108 return fpTrajectory_Lock ;
109 }

◆ IsLeadingStep()

bool G4TrackingInformation::IsLeadingStep ( )
inline

If the track is the one having the minimum step time, then it "leads" the step. It will interact will all the other tracks will be transported.

Definition at line 90 of file G4TrackingInformation.hh.

90{return fStepLeader;}

Referenced by G4ITStepProcessor::DoStepping().

◆ operator=()

G4TrackingInformation & G4TrackingInformation::operator= ( const G4TrackingInformation other)
protected

Assignment operator

Parameters
otherObject to assign from
Returns
A reference to this

Definition at line 84 of file G4TrackingInformation.cc.

85{
86 if (this == &rhs) return *this; // handle self assignment
87 //assignment operator
88 return *this;
89}

◆ RecordCurrentPositionNTime()

void G4TrackingInformation::RecordCurrentPositionNTime ( G4Track track)

Definition at line 105 of file G4TrackingInformation.cc.

106{
107 if(track)
108 {
112 }
113}
const G4ThreeVector & GetPosition() const
G4double GetGlobalTime() const
G4double GetLocalTime() const

Referenced by G4IT::RecordCurrentPositionNTime().

◆ RecordProcessState()

void G4TrackingInformation::RecordProcessState ( G4ProcessState_Lock state,
size_t  index 
)
inline

Definition at line 175 of file G4TrackingInformation.hh.

177{
178 fProcessState[index] = state;
179}

Referenced by G4VITProcess::StartTracking().

◆ SetLeadingStep()

void G4TrackingInformation::SetLeadingStep ( bool  value)
inline

Definition at line 91 of file G4TrackingInformation.hh.

91{fStepLeader = value;}

◆ SetNavigatorState()

void G4TrackingInformation::SetNavigatorState ( G4ITNavigatorState_Lock state)
inline

◆ SetStepProcessorState()

void G4TrackingInformation::SetStepProcessorState ( G4ITStepProcessorState_Lock state)
inline

Definition at line 165 of file G4TrackingInformation.hh.

166{
167 fpStepProcessorState = state;
168}

Referenced by G4ITStepProcessor::InitDefineStep().

◆ SetTrajectory_Lock()

void G4TrackingInformation::SetTrajectory_Lock ( G4Trajectory_Lock *  trajLock)
inline

Definition at line 111 of file G4TrackingInformation.hh.

112 {
113 fpTrajectory_Lock = trajLock;
114 }

Friends And Related Function Documentation

◆ G4ITStepProcessor

friend class G4ITStepProcessor
friend

Definition at line 127 of file G4TrackingInformation.hh.

Member Data Documentation

◆ fNavigatorState

G4ITNavigatorState_Lock* G4TrackingInformation::fNavigatorState
protected

◆ fProcessState

std::vector<G4ProcessState_Lock*> G4TrackingInformation::fProcessState
protected

Holds the information related to processes Indexed on GetPhysIntVector (cf. G4ITStepProcessor header)

Definition at line 147 of file G4TrackingInformation.hh.

Referenced by GetProcessState(), RecordProcessState(), and ~G4TrackingInformation().

◆ fpStepProcessorState

G4ITStepProcessorState_Lock* G4TrackingInformation::fpStepProcessorState
protected

◆ fpTrajectory_Lock

G4Trajectory_Lock* G4TrackingInformation::fpTrajectory_Lock
protected

◆ fRecordedTrackGlobalTime

G4double G4TrackingInformation::fRecordedTrackGlobalTime
protected

◆ fRecordedTrackLocalTime

G4double G4TrackingInformation::fRecordedTrackLocalTime
protected

◆ fRecordedTrackPosition

G4ThreeVector G4TrackingInformation::fRecordedTrackPosition
protected

Definition at line 134 of file G4TrackingInformation.hh.

Referenced by GetPreStepPosition(), and RecordCurrentPositionNTime().

◆ fStepLeader

G4bool G4TrackingInformation::fStepLeader
protected

Definition at line 129 of file G4TrackingInformation.hh.

Referenced by IsLeadingStep(), and SetLeadingStep().


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