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.

00041                                              :
00042     fStepLeader                     (false),
00043     fProcessState                   ((size_t)G4VITProcess::GetMaxProcessIndex(),0)
00044 {
00045     //ctor
00046     fpTrajectory_Lock           = 0;
00047     fRecordedTrackGlobalTime    = -1;
00048     fRecordedTrackLocalTime     = -1;
00049     fpStepProcessorState        = 0;
00050     fNavigatorState = 0;
00051 }

G4TrackingInformation::~G4TrackingInformation (  ) 

Definition at line 53 of file G4TrackingInformation.cc.

References fNavigatorState, fProcessState, and fpStepProcessorState.

00054 {
00055     //dtor
00056     for(int i = 0 ; i < (int) fProcessState.size() - 1 ; i++)
00057     {
00058         if(fProcessState[i])
00059         {
00060             delete fProcessState[i];
00061             fProcessState[i] = 0;
00062         }
00063     }
00064     fProcessState.clear();
00065     if(fpStepProcessorState) delete fpStepProcessorState;
00066     fpStepProcessorState = 0;
00067     if(fNavigatorState) delete fNavigatorState;
00068     fNavigatorState = 0;
00069 }

G4TrackingInformation::G4TrackingInformation ( const G4TrackingInformation other  )  [protected]

Copy constructor

Parameters:
other Object to copy from

Definition at line 72 of file G4TrackingInformation.cc.

References fNavigatorState, fpTrajectory_Lock, fRecordedTrackGlobalTime, and fRecordedTrackLocalTime.

00072                                                                                    :
00073     fStepLeader                     (false),
00074     fpStepProcessorState            (0)
00075 {
00076     //copy ctor
00077     fpTrajectory_Lock = 0;
00078     fRecordedTrackGlobalTime = -1;
00079     fRecordedTrackLocalTime = -1;
00080     fNavigatorState = 0;
00081 }


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().

00204 {
00205     return fNavigatorState;
00206 }

G4double G4TrackingInformation::GetPreStepGlobalTime (  )  const [inline]

Definition at line 182 of file G4TrackingInformation.hh.

References fRecordedTrackGlobalTime.

Referenced by G4IT::GetPreStepGlobalTime().

00183 {
00184     return fRecordedTrackGlobalTime;
00185 }

G4double G4TrackingInformation::GetPreStepLocalTime (  )  const [inline]

Definition at line 187 of file G4TrackingInformation.hh.

References fRecordedTrackLocalTime.

Referenced by G4IT::GetPreStepLocalTime().

00188 {
00189     return fRecordedTrackLocalTime;
00190 }

const G4ThreeVector & G4TrackingInformation::GetPreStepPosition (  )  const [inline]

Definition at line 192 of file G4TrackingInformation.hh.

References fRecordedTrackPosition.

Referenced by G4IT::GetPreStepPosition().

00193 {
00194     return fRecordedTrackPosition;
00195 }

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().

00092 {
00093     if(index> G4VITProcess::GetMaxProcessIndex())
00094     {
00095         G4ExceptionDescription exceptionDescription ;
00096         exceptionDescription << "G4TrackingInformation::GetProcInfo : Wrong process subType : " ;
00097         exceptionDescription << index ;
00098         G4Exception("G4TrackingInformation::GetProcessState","G4TrackingInformation003",
00099                     FatalErrorInArgument,exceptionDescription);
00100     }
00101 
00102     return fProcessState[index];
00103 }

G4ITStepProcessorState_Lock * G4TrackingInformation::GetStepProcessorState (  )  [inline]

Definition at line 170 of file G4TrackingInformation.hh.

References fpStepProcessorState.

Referenced by G4ITStepProcessor::SetupMembers().

00171 {
00172     return fpStepProcessorState;
00173 }

G4Trajectory_Lock* G4TrackingInformation::GetTrajectory_Lock (  )  [inline]

Definition at line 106 of file G4TrackingInformation.hh.

References fpTrajectory_Lock.

00107     {
00108         return fpTrajectory_Lock ;
00109     }

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().

00090 {return fStepLeader;}

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

Assignment operator

Parameters:
other Object to assign from
Returns:
A reference to this

Definition at line 84 of file G4TrackingInformation.cc.

00085 {
00086     if (this == &rhs) return *this; // handle self assignment
00087     //assignment operator
00088     return *this;
00089 }

void G4TrackingInformation::RecordCurrentPositionNTime ( G4Track  ) 

Definition at line 105 of file G4TrackingInformation.cc.

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

Referenced by G4IT::RecordCurrentPositionNTime().

00106 {
00107     if(track)
00108     {
00109         fRecordedTrackPosition = track->GetPosition();
00110         fRecordedTrackLocalTime = track->GetLocalTime();
00111         fRecordedTrackGlobalTime = track->GetGlobalTime();
00112     }
00113 }

void G4TrackingInformation::RecordProcessState ( G4ProcessState_Lock ,
size_t  index 
) [inline]

Definition at line 175 of file G4TrackingInformation.hh.

References fProcessState.

Referenced by G4VITProcess::StartTracking().

00177 {
00178     fProcessState[index] = state;
00179 }

void G4TrackingInformation::SetLeadingStep ( bool  value  )  [inline]

Definition at line 91 of file G4TrackingInformation.hh.

References fStepLeader.

00091 {fStepLeader = value;}

void G4TrackingInformation::SetNavigatorState ( G4ITNavigatorState_Lock  )  [inline]

Definition at line 198 of file G4TrackingInformation.hh.

References fNavigatorState.

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

00199 {
00200     fNavigatorState = state;
00201 }

void G4TrackingInformation::SetStepProcessorState ( G4ITStepProcessorState_Lock  )  [inline]

Definition at line 165 of file G4TrackingInformation.hh.

References fpStepProcessorState.

Referenced by G4ITStepProcessor::InitDefineStep().

00166 {
00167     fpStepProcessorState = state;
00168 }

void G4TrackingInformation::SetTrajectory_Lock ( G4Trajectory_Lock *  trajLock  )  [inline]

Definition at line 111 of file G4TrackingInformation.hh.

References fpTrajectory_Lock.

00112     {
00113         fpTrajectory_Lock = trajLock;
00114     }


Friends And Related Function Documentation

friend class G4ITStepProcessor [friend]

Definition at line 127 of file G4TrackingInformation.hh.


Field Documentation

G4ITNavigatorState_Lock* G4TrackingInformation::fNavigatorState [protected]

Definition at line 139 of file G4TrackingInformation.hh.

Referenced by G4TrackingInformation(), GetNavigatorState(), SetNavigatorState(), and ~G4TrackingInformation().

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]

Definition at line 150 of file G4TrackingInformation.hh.

Referenced by G4TrackingInformation(), GetStepProcessorState(), SetStepProcessorState(), and ~G4TrackingInformation().

G4Trajectory_Lock* G4TrackingInformation::fpTrajectory_Lock [protected]

Definition at line 131 of file G4TrackingInformation.hh.

Referenced by G4TrackingInformation(), GetTrajectory_Lock(), and SetTrajectory_Lock().

G4double G4TrackingInformation::fRecordedTrackGlobalTime [protected]

Definition at line 136 of file G4TrackingInformation.hh.

Referenced by G4TrackingInformation(), GetPreStepGlobalTime(), and RecordCurrentPositionNTime().

G4double G4TrackingInformation::fRecordedTrackLocalTime [protected]

Definition at line 135 of file G4TrackingInformation.hh.

Referenced by G4TrackingInformation(), GetPreStepLocalTime(), and RecordCurrentPositionNTime().

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:
Generated on Mon May 27 17:53:32 2013 for Geant4 by  doxygen 1.4.7