G4IT Class Reference

#include <G4IT.hh>

Inheritance diagram for G4IT:

G4VUserTrackInformation G4Molecule

Public Member Functions

 G4IT ()
 G4IT (G4Track *)
virtual ~G4IT ()
void * operator new (size_t)
void operator delete (void *aIT)
virtual void Print () const
virtual const G4StringGetName () const =0
virtual G4bool diff (const G4IT &right) const =0
virtual G4bool equal (const G4IT &right) const =0
G4bool operator< (const G4IT &right) const
G4bool operator== (const G4IT &right) const
G4bool operator!= (const G4IT &right) const
void SetTrack (G4Track *)
G4TrackGetTrack ()
const G4TrackGetTrack () const
void RecordCurrentPositionNTime ()
void SetPrevious (G4IT *)
void SetNext (G4IT *)
G4ITGetPrevious ()
G4ITGetNext ()
const G4ITGetPrevious () const
const G4ITGetNext () const
void SetITBox (G4ITBox *)
const G4ITBoxGetITBox () const
void TakeOutBox ()
void SetNode (G4KDNode *)
void SetParentID (int, int)
void GetParentID (int &, int &)
const G4ThreeVectorGetPreStepPosition () const
G4double GetPreStepLocalTime () const
G4double GetPreStepGlobalTime () const
G4KDNodeGetNode () const
G4TrackingInformationGetTrackingInfo ()
G4TrackListNodeGetTrackListNode ()
void SetTrackListNode (G4TrackListNode *node)
virtual const G4ITType GetITType () const =0

Protected Member Functions

 G4IT (const G4IT &)
G4IToperator= (const G4IT &)

Protected Attributes

G4TrackfpTrack

Detailed Description

G4IT is a interface which allows the inheriting object :

Definition at line 82 of file G4IT.hh.


Constructor & Destructor Documentation

G4IT::G4IT (  ) 

Definition at line 61 of file G4IT.cc.

00061            : G4VUserTrackInformation("G4IT"),
00062     fpTrack (0),
00063     fpPreviousIT(0), fpNextIT(0),
00064     fTrackingInformation()
00065 //    fpTrackingInformation(new G4TrackingInformation())
00066 {
00067     fpITBox=0;
00068     fpKDNode = 0 ;
00069     fpTrackNode = 0;
00070     fParentID_A = 0;
00071     fParentID_B = 0;
00072 }

G4IT::G4IT ( G4Track  ) 

Definition at line 111 of file G4IT.cc.

References fpTrack, and RecordCurrentPositionNTime().

00111                            : G4VUserTrackInformation("G4IT"),
00112     fpPreviousIT(0), fpNextIT(0),
00113     fTrackingInformation()
00114 //    fpTrackingInformation(new G4TrackingInformation())
00115 {
00116     fpITBox = 0;
00117     fpTrack = aTrack;
00118     fpKDNode = 0 ;
00119     fpTrackNode = 0;
00120     fParentID_A = 0;
00121     fParentID_B = 0;
00122     RecordCurrentPositionNTime();
00123 }

G4IT::~G4IT (  )  [virtual]

Definition at line 139 of file G4IT.cc.

References TakeOutBox().

00140 {
00141     TakeOutBox();
00142 
00143 //    if(fpTrackingInformation)
00144 //    {
00145 //        delete fpTrackingInformation;
00146 //        fpTrackingInformation = 0;
00147 //    }
00148 
00149     // Note :
00150     // G4ITTrackingManager will delete fTrackNode.
00151     // fKDNode will be deleted when the KDTree is rebuilt
00152 }

G4IT::G4IT ( const G4IT  )  [protected]

Definition at line 75 of file G4IT.cc.

00075                                 : G4VUserTrackInformation("G4IT"),
00076     fpTrack (0),
00077     fpPreviousIT(0), fpNextIT(0),
00078     fTrackingInformation()
00079 //    fpTrackingInformation(new G4TrackingInformation())
00080 {
00081     fpITBox=0;
00082     fpKDNode = 0 ;
00083     fpTrackNode = 0;
00084     fParentID_A = 0;
00085     fParentID_B = 0;
00086 }


Member Function Documentation

virtual G4bool G4IT::diff ( const G4IT right  )  const [pure virtual]

virtual G4bool G4IT::equal ( const G4IT right  )  const [pure virtual]

const G4ITBox * G4IT::GetITBox (  )  const [inline]

Definition at line 172 of file G4IT.hh.

00173 {
00174     return fpITBox ;
00175 }

virtual const G4ITType G4IT::GetITType (  )  const [pure virtual]

Referenced by G4ITModelProcessor::DoCalculateStep(), operator<(), operator==(), and G4AllITManager::Push().

virtual const G4String& G4IT::GetName (  )  const [pure virtual]

Implemented in G4Molecule.

Referenced by G4TrackList::CheckFlag(), G4DNABrownianTransportation::Diffusion(), G4TrackList::Flag(), G4VITManager::iterator::PrintNext(), and G4TrackList::Unflag().

const G4IT * G4IT::GetNext (  )  const [inline]

Definition at line 249 of file G4IT.hh.

00250 {
00251     return fpNextIT ;
00252 }

G4IT * G4IT::GetNext (  )  [inline]

Definition at line 197 of file G4IT.hh.

Referenced by G4ITBox::Extract(), and G4ITBox::~G4ITBox().

00198 {
00199     return fpNextIT;
00200 }

G4KDNode * G4IT::GetNode (  )  const [inline]

Definition at line 259 of file G4IT.hh.

00260 {
00261     return fpKDNode ;
00262 }

void G4IT::GetParentID ( int &  ,
int &   
) [inline]

Definition at line 223 of file G4IT.hh.

00224 {
00225     p_a = fParentID_A;
00226     p_b = fParentID_B ;
00227 }

G4double G4IT::GetPreStepGlobalTime (  )  const [inline]

Definition at line 229 of file G4IT.hh.

References G4TrackingInformation::GetPreStepGlobalTime().

00230 {
00231     return fTrackingInformation.GetPreStepGlobalTime();
00232 }

G4double G4IT::GetPreStepLocalTime (  )  const [inline]

Definition at line 234 of file G4IT.hh.

References G4TrackingInformation::GetPreStepLocalTime().

00235 {
00236     return fTrackingInformation.GetPreStepLocalTime();
00237 }

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

Definition at line 239 of file G4IT.hh.

References G4TrackingInformation::GetPreStepPosition().

00240 {
00241     return fTrackingInformation.GetPreStepPosition();
00242 }

const G4IT * G4IT::GetPrevious (  )  const [inline]

Definition at line 244 of file G4IT.hh.

00245 {
00246     return fpPreviousIT ;
00247 }

G4IT * G4IT::GetPrevious (  )  [inline]

Definition at line 192 of file G4IT.hh.

Referenced by G4ITBox::Extract(), and G4ITBox::FindIT().

00193 {
00194     return fpPreviousIT;
00195 }

const G4Track * G4IT::GetTrack (  )  const [inline]

Definition at line 212 of file G4IT.hh.

References fpTrack.

00213 {
00214     return fpTrack;
00215 }

G4Track * G4IT::GetTrack (  )  [inline]

Definition at line 207 of file G4IT.hh.

References fpTrack.

Referenced by G4ITStepProcessor::FindTransportationStep(), and G4VITManager::iterator::PrintNext().

00208 {
00209     return fpTrack;
00210 }

G4TrackingInformation* G4IT::GetTrackingInfo (  )  [inline]

Definition at line 134 of file G4IT.hh.

Referenced by G4ITStepProcessor::DoDefinePhysicalStepLength(), G4ITStepProcessor::DoStepping(), G4ITStepProcessor::InitDefineStep(), G4ITStepProcessor::SetTrack(), G4ITStepProcessor::SetupMembers(), and G4VITProcess::StartTracking().

00134 {return &fTrackingInformation;}

G4TrackListNode* G4IT::GetTrackListNode (  )  [inline]

Definition at line 136 of file G4IT.hh.

Referenced by G4TrackList::Flag(), and G4TrackList::Unflag().

00136 {return fpTrackNode;}

void G4IT::operator delete ( void *  aIT  )  [inline]

Reimplemented in G4Molecule.

Definition at line 169 of file G4IT.hh.

References aITAllocator.

00170 { aITAllocator.FreeSingle((G4IT *) aIT);}

void * G4IT::operator new ( size_t   )  [inline]

Reimplemented in G4Molecule.

Definition at line 162 of file G4IT.hh.

References aITAllocator.

00163 {
00164     void *aIT;
00165     aIT = (void *) aITAllocator.MallocSingle();
00166     return aIT;
00167 }

G4bool G4IT::operator!= ( const G4IT right  )  const

Definition at line 187 of file G4IT.cc.

References operator==().

00188 {
00189     return !(this->operator==(right));
00190 }

G4bool G4IT::operator< ( const G4IT right  )  const

Definition at line 165 of file G4IT.cc.

References GetITType().

00166 {
00167     if(GetITType() == right.GetITType() )
00168     {
00169         return  (this->diff(right)) ;
00170     }
00171     else
00172     {
00173         return (GetITType() < right.GetITType());
00174     }
00175     return false;
00176 }

G4IT & G4IT::operator= ( const G4IT  )  [protected]

Definition at line 89 of file G4IT.cc.

References FatalException, fpTrack, and G4Exception().

00090 {
00091     G4ExceptionDescription exceptionDescription;
00092     exceptionDescription << "The assignment operator of G4IT should not be used, this feature is not supported."
00093                          << "If really needed, please contact the developers.";
00094     G4Exception("G4IT::operator=(const G4IT& right)","G4IT001",FatalException,exceptionDescription);
00095 
00096     if(this == &right) return *this;
00097 
00098     fpTrack = 0;
00099     fpITBox = 0;
00100     fpPreviousIT = 0;
00101     fpNextIT = 0;
00102     fpKDNode = 0 ;
00103     fParentID_A = 0;
00104     fParentID_B = 0;
00105 //    fpTrackingInformation = 0;
00106     fpTrackNode = 0;
00107 
00108     return *this;
00109 }

G4bool G4IT::operator== ( const G4IT right  )  const

Definition at line 178 of file G4IT.cc.

References GetITType().

Referenced by operator!=().

00179 {
00180     if(GetITType() == right.GetITType() )
00181     {
00182         return this->equal(right);
00183     }
00184     return false;
00185 }

virtual void G4IT::Print (  )  const [inline, virtual]

Reimplemented from G4VUserTrackInformation.

Definition at line 92 of file G4IT.hh.

00092 {}

void G4IT::RecordCurrentPositionNTime (  ) 

Definition at line 157 of file G4IT.cc.

References fpTrack, and G4TrackingInformation::RecordCurrentPositionNTime().

Referenced by G4IT().

00158 {
00159     if(fpTrack)
00160     {
00161         fTrackingInformation.RecordCurrentPositionNTime(fpTrack);
00162     }
00163 }

void G4IT::SetITBox ( G4ITBox  )  [inline]

Definition at line 177 of file G4IT.hh.

Referenced by G4ITBox::Extract(), and G4ITBox::Push().

00178 {
00179     fpITBox = aITBox;
00180 }

void G4IT::SetNext ( G4IT  )  [inline]

Definition at line 187 of file G4IT.hh.

Referenced by G4ITBox::Extract(), and G4ITBox::Push().

00188 {
00189     fpNextIT = aIT;
00190 }

void G4IT::SetNode ( G4KDNode  )  [inline]

Definition at line 254 of file G4IT.hh.

00255 {
00256     fpKDNode = aNode ;
00257 }

void G4IT::SetParentID ( int  ,
int   
) [inline]

Definition at line 217 of file G4IT.hh.

00218 {
00219     fParentID_A = p_a;
00220     fParentID_B = p_b;
00221 }

void G4IT::SetPrevious ( G4IT  )  [inline]

Definition at line 182 of file G4IT.hh.

Referenced by G4ITBox::Extract(), and G4ITBox::Push().

00183 {
00184     fpPreviousIT = aIT;
00185 }

void G4IT::SetTrack ( G4Track  )  [inline]

Definition at line 202 of file G4IT.hh.

References fpTrack.

00203 {
00204     fpTrack = track;
00205 }

void G4IT::SetTrackListNode ( G4TrackListNode node  )  [inline]

Definition at line 137 of file G4IT.hh.

Referenced by G4TrackList::EraseTrackListNode(), and G4TrackList::Flag().

00137 { fpTrackNode = node;}

void G4IT::TakeOutBox (  ) 

Definition at line 125 of file G4IT.cc.

References G4ITBox::Extract(), and InactiveNode().

Referenced by ~G4IT().

00126 {
00127     if(fpITBox)
00128     {
00129         fpITBox->Extract(this);
00130     }
00131 
00132     if(fpKDNode)
00133     {
00134         InactiveNode(fpKDNode);
00135         fpKDNode = 0;
00136     }
00137 }


Field Documentation

G4Track* G4IT::fpTrack [protected]

Definition at line 144 of file G4IT.hh.

Referenced by G4Molecule::BuildTrack(), G4IT(), GetTrack(), operator=(), RecordCurrentPositionNTime(), SetTrack(), and G4Molecule::~G4Molecule().


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:52:19 2013 for Geant4 by  doxygen 1.4.7