46 { 
return fpNode->GetTrack(); }
 
   50 { 
return fpNode->GetTrack(); }
 
   54 { 
return fpNode->GetTrack(); }
 
   58 { 
return fpNode->GetTrack(); }
 
  102     if (
this == &other) 
return *
this; 
 
  115         while(  __stackedTrack && __stackedTrack != &(
fBoundary) )
 
  117             __nextStackedTrack = __stackedTrack->
GetNext();
 
  120             delete __stackedTrack;
 
  131             __stackedTrack = __nextStackedTrack;
 
  147     if(__trackListNode != 0)
 
  153             exceptionDescription << 
"This track "<< __iTrack->
GetName() ;
 
  154             exceptionDescription << 
" is already attached to a TrackList ";
 
  167     return __trackListNode;
 
  173     return __trackListNode;
 
  201     else if( __position == 
fpStart )
 
  278                 << 
" is not correctly linked to a TrackList." 
  280                 << 
"You are probably trying to withdraw this track " 
  281                 << 
"from the list but it probably does not belong to " 
  282                 << 
"this track list." << 
G4endl;
 
  283         G4Exception(
"G4TrackList::CheckFlag",
"G4TrackList002",
 
  293     if(__trackListNode == 0)
 
  296         exceptionDescription << 
"This track "<< 
GetIT(__track)->
GetName() ;
 
  297         exceptionDescription << 
" was not connected to any trackList ";
 
  298         G4Exception(
"G4TrackList::Unflag",
"G4TrackList003",
 
  305     return __trackListNode;
 
  312     Unhook( __aStackedTrack );
 
  359     this->
erase(__track);
 
  367     while (__first != __last)
 
  370             __first = 
pop(*__first);
 
  381     while (__first != __last)
 
  384             __first = 
erase(*__first);
 
G4IT is a interface which allows the inheriting object : 
 
G4TrackListNode is the entity actually stored by the G4TrackList. 
 
G4TrackList_iterator iterator
 
bool Holds(const G4Track *) const 
return an iterator that contains an empty node use for boundary checking only 
 
G4TrackListNode * Flag(G4Track *)
 
std::ostringstream G4ExceptionDescription
 
G4ReferenceCountedHandle< _ListRef > fListRef
 
void DeleteSecondaryVector()
 
G4TrackListNode * EraseTrackListNode(G4Track *)
 
virtual const G4String & GetName() const =0
 
G4TrackList & operator=(const G4TrackList &right)
 
const G4Step * GetStep() const 
 
void DeleteTrack(G4Track *)
 
G4TrackListNode * CreateNode(G4Track *)
Complexity = constant. 
 
G4ReferenceCountedHandle< _ListRef > fListRef
 
G4TrackList_iterator enables to go through the tracks contained by a list. 
 
G4IT * GetIT(const G4Track *track)
 
G4TrackListNode * GetTrackListNode()
 
iterator insert(iterator, G4Track *)
 
void SetTrackListNode(G4TrackListNode *node)
 
void transferTo(G4TrackList *)
Complexity = linear in size between __first and __last. 
 
void SetNext(G4TrackListNode *node)
 
void SetPrevious(G4TrackListNode *node)
 
G4TrackListNode(G4Track *track=0)
Default constructor. 
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
 
G4TrackListNode * fpFinish
 
G4TrackListNode * GetPrevious()
 
G4TrackVector * GetfSecondary()
 
void CheckFlag(G4TrackListNode *)
 
void Unhook(G4TrackListNode *)
 
iterator erase(G4Track *)
 
void Hook(G4TrackListNode *, G4TrackListNode *)
 
G4TrackList is used by G4ITStepManager to save G4IT tracks only. 
 
G4TrackList * fpTrackList
 
G4TrackListNode fBoundary
 
G4TrackListNode * fpStart
 
G4TrackListNode * GetNext()
 
G4TrackListNode * Unflag(G4Track *)
 
~G4TrackListNode()
Default destructor.