Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
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::G4TrackingInformation ( )

Definition at line 41 of file G4TrackingInformation.cc.

References fNavigatorState, fpStepProcessorState, fpTrajectory_Lock, fRecordedTrackGlobalTime, and fRecordedTrackLocalTime.

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

Definition at line 53 of file G4TrackingInformation.cc.

References fNavigatorState, fProcessState, fpStepProcessorState, and int().

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();
68  fNavigatorState = 0;
69 }
std::vector< G4ProcessState_Lock * > fProcessState
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
G4ITNavigatorState_Lock * fNavigatorState
G4ITStepProcessorState_Lock * fpStepProcessorState
G4TrackingInformation::G4TrackingInformation ( const G4TrackingInformation other)
protected

Copy constructor

Parameters
otherObject to copy from

Definition at line 72 of file G4TrackingInformation.cc.

References fNavigatorState, fpTrajectory_Lock, fRecordedTrackGlobalTime, and fRecordedTrackLocalTime.

72  :
73  fStepLeader (false),
75 {
76  //copy ctor
80  fNavigatorState = 0;
81 }
G4Trajectory_Lock * fpTrajectory_Lock
G4ITNavigatorState_Lock * fNavigatorState
G4ITStepProcessorState_Lock * fpStepProcessorState

Member Function Documentation

G4ITNavigatorState_Lock * G4TrackingInformation::GetNavigatorState ( ) const
inline

Definition at line 203 of file G4TrackingInformation.hh.

References fNavigatorState.

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

204 {
205  return fNavigatorState;
206 }
G4ITNavigatorState_Lock * fNavigatorState
G4double G4TrackingInformation::GetPreStepGlobalTime ( ) const
inline

Definition at line 182 of file G4TrackingInformation.hh.

References fRecordedTrackGlobalTime.

Referenced by G4IT::GetPreStepGlobalTime().

183 {
185 }
G4double G4TrackingInformation::GetPreStepLocalTime ( ) const
inline

Definition at line 187 of file G4TrackingInformation.hh.

References fRecordedTrackLocalTime.

Referenced by G4IT::GetPreStepLocalTime().

188 {
190 }
const G4ThreeVector & G4TrackingInformation::GetPreStepPosition ( ) const
inline

Definition at line 192 of file G4TrackingInformation.hh.

References fRecordedTrackPosition.

Referenced by G4IT::GetPreStepPosition().

193 {
194  return fRecordedTrackPosition;
195 }
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.

References FatalErrorInArgument, fProcessState, G4Exception(), and G4VITProcess::GetMaxProcessIndex().

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

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 }
std::vector< G4ProcessState_Lock * > fProcessState
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
static const size_t & GetMaxProcessIndex()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
Definition: G4Exception.cc:41
G4ITStepProcessorState_Lock * G4TrackingInformation::GetStepProcessorState ( )
inline

Definition at line 170 of file G4TrackingInformation.hh.

References fpStepProcessorState.

Referenced by G4ITStepProcessor::SetupMembers().

171 {
172  return fpStepProcessorState;
173 }
G4ITStepProcessorState_Lock * fpStepProcessorState
G4Trajectory_Lock* G4TrackingInformation::GetTrajectory_Lock ( )
inline

Definition at line 106 of file G4TrackingInformation.hh.

References fpTrajectory_Lock.

107  {
108  return fpTrajectory_Lock ;
109  }
G4Trajectory_Lock * fpTrajectory_Lock
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.

References fStepLeader.

Referenced by G4ITStepProcessor::DoStepping().

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 }
void G4TrackingInformation::RecordCurrentPositionNTime ( G4Track track)

Definition at line 105 of file G4TrackingInformation.cc.

References fRecordedTrackGlobalTime, fRecordedTrackLocalTime, fRecordedTrackPosition, G4Track::GetGlobalTime(), G4Track::GetLocalTime(), and G4Track::GetPosition().

Referenced by G4IT::RecordCurrentPositionNTime().

106 {
107  if(track)
108  {
112  }
113 }
G4double GetLocalTime() const
const G4ThreeVector & GetPosition() const
G4double GetGlobalTime() const
void G4TrackingInformation::RecordProcessState ( G4ProcessState_Lock state,
size_t  index 
)
inline

Definition at line 175 of file G4TrackingInformation.hh.

References fProcessState.

Referenced by G4VITProcess::StartTracking().

177 {
178  fProcessState[index] = state;
179 }
std::vector< G4ProcessState_Lock * > fProcessState
void G4TrackingInformation::SetLeadingStep ( bool  value)
inline

Definition at line 91 of file G4TrackingInformation.hh.

References fStepLeader.

91 {fStepLeader = value;}
const XML_Char int const XML_Char * value
void G4TrackingInformation::SetNavigatorState ( G4ITNavigatorState_Lock state)
inline

Definition at line 198 of file G4TrackingInformation.hh.

References fNavigatorState.

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

199 {
200  fNavigatorState = state;
201 }
G4ITNavigatorState_Lock * fNavigatorState
void G4TrackingInformation::SetStepProcessorState ( G4ITStepProcessorState_Lock state)
inline

Definition at line 165 of file G4TrackingInformation.hh.

References fpStepProcessorState.

Referenced by G4ITStepProcessor::InitDefineStep().

166 {
167  fpStepProcessorState = state;
168 }
G4ITStepProcessorState_Lock * fpStepProcessorState
void G4TrackingInformation::SetTrajectory_Lock ( G4Trajectory_Lock *  trajLock)
inline

Definition at line 111 of file G4TrackingInformation.hh.

References fpTrajectory_Lock.

112  {
113  fpTrajectory_Lock = trajLock;
114  }
G4Trajectory_Lock * fpTrajectory_Lock

Friends And Related Function Documentation

friend class G4ITStepProcessor
friend

Definition at line 127 of file G4TrackingInformation.hh.

Field Documentation

G4ITNavigatorState_Lock* G4TrackingInformation::fNavigatorState
protected
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().

G4ITStepProcessorState_Lock* G4TrackingInformation::fpStepProcessorState
protected
G4Trajectory_Lock* G4TrackingInformation::fpTrajectory_Lock
protected
G4double G4TrackingInformation::fRecordedTrackGlobalTime
protected
G4double G4TrackingInformation::fRecordedTrackLocalTime
protected
G4ThreeVector G4TrackingInformation::fRecordedTrackPosition
protected

Definition at line 134 of file G4TrackingInformation.hh.

Referenced by GetPreStepPosition(), and RecordCurrentPositionNTime().

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: