Geant4 11.2.2
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)
 
G4shared_ptr< G4ProcessState_LockGetProcessState (size_t index)
 
void RecordProcessState (G4shared_ptr< G4ProcessState_Lock >, size_t index)
 
void SetStepProcessorState (G4ITStepProcessorState_Lock *)
 
G4ITStepProcessorState_LockGetStepProcessorState ()
 
G4TrackStateManagerGetTrackStateManager ()
 
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_Lock * GetNavigatorState () const
 

Protected Member Functions

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

Protected Attributes

G4bool fStepLeader {false}
 
G4Trajectory_Lock * fpTrajectory_Lock
 
G4TrackStateManager fTrackStateManager
 
G4ThreeVector fRecordedTrackPosition
 
G4double fRecordedTrackLocalTime
 
G4double fRecordedTrackGlobalTime
 
G4ITNavigatorState_Lock * fNavigatorState
 
std::vector< G4shared_ptr< G4ProcessState_Lock > > fProcessState
 
G4ITStepProcessorState_LockfpStepProcessorState {nullptr}
 

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 40 of file G4TrackingInformation.cc.

40 :
41
43{
44 //ctor
45 fpTrajectory_Lock = nullptr;
48 fpStepProcessorState = nullptr;
49 fNavigatorState = nullptr;
50}
std::vector< G4shared_ptr< G4ProcessState_Lock > > fProcessState
G4ITStepProcessorState_Lock * fpStepProcessorState
G4ITNavigatorState_Lock * fNavigatorState
G4Trajectory_Lock * fpTrajectory_Lock
static const size_t & GetMaxProcessIndex()

◆ ~G4TrackingInformation()

G4TrackingInformation::~G4TrackingInformation ( )

Definition at line 52 of file G4TrackingInformation.cc.

53{
54 //dtor
55 /*
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 */
65 fProcessState.clear();
67 fpStepProcessorState = nullptr;
68 delete fNavigatorState;
69 fNavigatorState = nullptr;
70}

◆ G4TrackingInformation() [2/2]

G4TrackingInformation::G4TrackingInformation ( const G4TrackingInformation & other)
protected

Copy constructor

Parameters
otherObject to copy from

Definition at line 73 of file G4TrackingInformation.cc.

74{
75 //copy ctor
76 fpTrajectory_Lock = nullptr;
79 fNavigatorState = nullptr;
80}

Member Function Documentation

◆ GetNavigatorState()

G4ITNavigatorState_Lock * G4TrackingInformation::GetNavigatorState ( ) const
inline

◆ GetPreStepGlobalTime()

G4double G4TrackingInformation::GetPreStepGlobalTime ( ) const
inline

Definition at line 235 of file G4TrackingInformation.hh.

236{
238}

Referenced by G4IT::GetPreStepGlobalTime().

◆ GetPreStepLocalTime()

G4double G4TrackingInformation::GetPreStepLocalTime ( ) const
inline

Definition at line 240 of file G4TrackingInformation.hh.

241{
243}

Referenced by G4IT::GetPreStepLocalTime().

◆ GetPreStepPosition()

const G4ThreeVector & G4TrackingInformation::GetPreStepPosition ( ) const
inline

Definition at line 245 of file G4TrackingInformation.hh.

246{
248}

Referenced by G4IT::GetPreStepPosition().

◆ GetProcessState()

G4shared_ptr< G4ProcessState_Lock > G4TrackingInformation::GetProcessState ( size_t index)

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

Definition at line 104 of file G4TrackingInformation.cc.

105{
107 {
108 G4ExceptionDescription exceptionDescription ;
109 exceptionDescription << "G4TrackingInformation::GetProcInfo : Wrong process subType : " ;
110 exceptionDescription << index ;
111 G4Exception("G4TrackingInformation::GetProcessState","G4TrackingInformation003",
112 FatalErrorInArgument,exceptionDescription);
113 }
114
115 return fProcessState[index];
116}
@ FatalErrorInArgument
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription

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

◆ GetStepProcessorState()

G4ITStepProcessorState_Lock * G4TrackingInformation::GetStepProcessorState ( )
inline

Definition at line 215 of file G4TrackingInformation.hh.

216{
218}

Referenced by G4ITStepProcessor::SetupMembers().

◆ GetTrackStateManager()

G4TrackStateManager & G4TrackingInformation::GetTrackStateManager ( )
inline

◆ GetTrajectory_Lock()

G4Trajectory_Lock * G4TrackingInformation::GetTrajectory_Lock ( )
inline

Definition at line 147 of file G4TrackingInformation.hh.

148 {
149 return fpTrajectory_Lock;
150 }

◆ 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.

91 {
92 return fStepLeader;
93 }

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 83 of file G4TrackingInformation.cc.

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

◆ RecordCurrentPositionNTime()

void G4TrackingInformation::RecordCurrentPositionNTime ( G4Track * track)

Definition at line 118 of file G4TrackingInformation.cc.

119{
120 if(track != nullptr)
121 {
125 }
126}
const G4ThreeVector & GetPosition() const
G4double GetGlobalTime() const
G4double GetLocalTime() const

Referenced by G4IT::RecordCurrentPositionNTime().

◆ RecordProcessState()

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

Definition at line 228 of file G4TrackingInformation.hh.

230{
231 // G4cout << "G4TrackingInformation::RecordProcessState" << G4endl;
232 fProcessState[index] = state;
233}

Referenced by G4VITProcess::StartTracking().

◆ SetLeadingStep()

void G4TrackingInformation::SetLeadingStep ( bool value)
inline

Definition at line 94 of file G4TrackingInformation.hh.

95 {
96 fStepLeader = value;
97 }

Referenced by G4ITLeadingTracks::PrepareLeadingTracks(), and G4ITLeadingTracks::Reset().

◆ SetNavigatorState()

void G4TrackingInformation::SetNavigatorState ( G4ITNavigatorState_Lock * state)
inline

Definition at line 250 of file G4TrackingInformation.hh.

251{
252 // G4cout << "Set Navigator state : " << state << G4endl;
253 fNavigatorState = state;
254}

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

◆ SetStepProcessorState()

void G4TrackingInformation::SetStepProcessorState ( G4ITStepProcessorState_Lock * state)
inline

Definition at line 210 of file G4TrackingInformation.hh.

211{
212 fpStepProcessorState = state;
213}

Referenced by G4ITStepProcessor::InitDefineStep().

◆ SetTrajectory_Lock()

void G4TrackingInformation::SetTrajectory_Lock ( G4Trajectory_Lock * trajLock)
inline

Definition at line 152 of file G4TrackingInformation.hh.

153 {
154 fpTrajectory_Lock = trajLock;
155 }

Friends And Related Symbol Documentation

◆ G4ITStepProcessor

friend class G4ITStepProcessor
friend

Definition at line 168 of file G4TrackingInformation.hh.

Member Data Documentation

◆ fNavigatorState

G4ITNavigatorState_Lock* G4TrackingInformation::fNavigatorState
protected

◆ fProcessState

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

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

Definition at line 191 of file G4TrackingInformation.hh.

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

◆ fpStepProcessorState

G4ITStepProcessorState_Lock* G4TrackingInformation::fpStepProcessorState {nullptr}
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 177 of file G4TrackingInformation.hh.

Referenced by GetPreStepPosition(), and RecordCurrentPositionNTime().

◆ fStepLeader

G4bool G4TrackingInformation::fStepLeader {false}
protected

Definition at line 170 of file G4TrackingInformation.hh.

170{false};

Referenced by IsLeadingStep(), and SetLeadingStep().

◆ fTrackStateManager

G4TrackStateManager G4TrackingInformation::fTrackStateManager
protected

Definition at line 174 of file G4TrackingInformation.hh.

Referenced by GetTrackStateManager().


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