51 if (__trackListNode ==
nullptr)
54 exceptionDescription <<
"This track " <<
GetIT(__track)->
GetName();
55 exceptionDescription <<
" was not connected to any trackList ";
57 exceptionDescription);
60 return __trackListNode;
70 if (__step !=
nullptr)
72 if (__step->GetfSecondary() !=
nullptr)
73 __step->DeleteSecondaryVector();
83 if(fpObject !=
nullptr)
94 return (
GetIT(track)->GetListNode()->fListRef->fpList ==
this);
104 if (__trackListNode !=
nullptr)
110 exceptionDescription <<
"This track " << __iTrack->
GetName();
111 exceptionDescription <<
" is already attached to a TrackList ";
112 G4Exception(
"G4FastList<OBJECT>::Flag",
"G4TrackList001",
114 exceptionDescription);
123 __trackListNode->
fListRef = fListRef;
124 return __trackListNode;
131 if (__trackListNode->
fListRef->fpList !=
this)
135 exceptionDescription <<
"The track " <<
GetIT(track)->
GetName()
137 <<
" is not correctly linked to a TrackList."
139 <<
"You are probably trying to withdraw this track "
140 <<
"from the list but it probably does not belong to "
141 <<
"this track list." <<
G4endl;
142 G4Exception(
"G4FastList<OBJECT>::CheckFlag",
"G4FastList002",
167 if (__trackListNode ==
nullptr)
171 return __trackListNode;
181 if(__trackListNode ==
nullptr)
return nullptr;
182 if(__trackListNode->
fListRef ==
nullptr)
return nullptr;
184 return __trackListNode->
fListRef->fpList;
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4IT * GetIT(const G4Track *track)
static G4AllocatorList * GetAllocatorListIfExist()
G4shared_ptr< _ListRef< G4FastList< OBJECT > > > fListRef
G4FastListNode< OBJECT > * GetNext()
G4FastListNode< OBJECT > * EraseListNode(OBJECT *)
G4FastListNode< OBJECT > * Flag(OBJECT *)
static G4FastList< OBJECT > * GetList(OBJECT *)
void CheckFlag(G4FastListNode< OBJECT > *)
static G4FastListNode< OBJECT > * __GetNode(OBJECT *)
bool Holds(const OBJECT *) const
static G4FastListNode< OBJECT > * GetNode(OBJECT *)
void DeleteObject(OBJECT *)
void SetListNode(G4TrackListNode *node)
G4TrackListNode * GetListNode()
virtual const G4String & GetName() const =0
const G4Step * GetStep() const