45 G4TrackList::Watcher(), fpMainList(0), fpWaitingList(0)
50 G4TrackList::Watcher(), fpMainList(0), fpWaitingList(0)
57 fpMainList(right.fpMainList),
58 fpWaitingList(right.fpWaitingList)
94 allMainList.
Add(__list);
236 std::map<Key, PriorityList*>::iterator end =
fLists.end();
238 for (std::map<Key, PriorityList*>::iterator
it =
fLists.begin();
it != end;
247 MapOfDelayedLists::iterator fDelayedList_i =
fDelayedList.begin();
248 MapOfDelayedLists::iterator fDelayedList_end =
fDelayedList.end();
250 for (; fDelayedList_i != fDelayedList_end; fDelayedList_i++)
252 std::map<Key, G4TrackList*>::iterator
it = fDelayedList_i->second.begin();
253 std::map<Key, G4TrackList*>::iterator __end =
254 fDelayedList_i->second.end();
256 for (; it != __end; it++)
258 if (it->second)
delete (it->second);
299 std::map<Key, G4TrackList*>::iterator
it =
301 std::map<Key, G4TrackList*>::iterator end =
303 if (it == end)
return false;
306 for (; it != end; it++)
310 std::map<Key, PriorityList*>::iterator it_listUnion =
fLists.find(
312 if (it_listUnion ==
fLists.end())
318 if (it_listUnion->second == 0)
322 right_listUnion = it_listUnion->second;
325 if (it->second == 0)
continue;
361 std::map<Key, PriorityList*>::iterator
it =
fLists.begin();
362 std::map<Key, PriorityList*>::iterator end =
fLists.end();
364 for (; it != end; it++)
366 if (it->second->GetMainList() == 0)
371 it->second->TransferSecondariesToMainList();
405 std::map<Key, PriorityList*>::iterator
it =
fLists.find(moleculeID);
412 fLists[moleculeID] = priorityList;
416 priorityList = it->second;
453 <<
"You are trying to push a non-existing track (track pointer is null)"
456 G4Exception(
"G4ITTrackHolder::_PushTrack",
"ITStepManager014",
474 G4cout <<
"\t"<<
">> Pushing a track --> ";
486 if (globalTime < currentGlobalTime)
490 <<
"You are trying to push a track with a global time"
491 <<
" inferior to the current simulation time." <<
G4endl<<
"The time is going back : " <<
G4endl
492 <<
"The time in the step manager : "
495 <<
"The time of the track : "
498 <<
"(ITStepManager is not yet running)"
501 G4Exception(
"G4ITTrackHolder::_PushTrack",
"ITStepManager014",
515 if (globalTime == currentGlobalTime)
521 G4cout <<
"\t"<<
">> Pushing to *main* list --> ";
539 G4cout <<
"\t"<<
">> Pushing to *delayed* list --> ";
554 double timeDifference = globalTime - currentGlobalTime;
557 if (timeDifference < -1 * timeTolerance)
561 <<
"You are trying to push a track with a global time"
562 <<
" inferior to the current simulation time." <<
G4endl<<
"The time is going back : "
564 <<
"The time in the step manager : "
567 <<
"The time of the track : " <<
G4BestUnit(globalTime,
"Time")
569 <<
"(ITStepManager is running)"
572 G4Exception(
"G4ITTrackHolder::_PushTrack",
"ITStepManager015",
580 if (fabs(timeDifference) < timeTolerance)
588 G4cout <<
"\t"<<
">> Pushing to *secondary* list --> ";
603 <<
"While running you cannot push a track"
604 <<
" with a bigger global time than the current global time" <<
G4endl<<
"The time in the step manager : "
607 <<
"The time of the track : " <<
G4BestUnit(globalTime,
"Time")
609 <<
"(ITStepManager is running)"
612 G4Exception(
"G4ITTrackHolder::_PushTrack",
"ITStepManager016",
626 G4cout <<
"\t" <<
">> Pushing a delayed track" <<
G4endl;
635 std::map<double, std::map<Key, G4TrackList*> >::iterator it_delayed =
645 std::map<Key, G4TrackList*>::iterator it_trackList =
646 it_delayed->second.find(moleculeID);
648 if (it_trackList == it_delayed->second.end())
650 (it_delayed->second[moleculeID] =
new G4TrackList())->push_back(track);
654 if (it_trackList->second != 0)
656 it_trackList->second->push_back(track);
702 G4cout <<
"*** G4ITTrackHolder::KillTracks , step #"
707 << setw(25) <<
"track ID"<<
G4endl;
733 std::map<Key, PriorityList*>::iterator
it =
fLists.begin();
735 for (; it !=
fLists.end(); it++)
737 if (it->second)
delete it->second;
746 std::map<Key, G4TrackList*>::iterator it2 = it1->second.begin();
748 for (; it2 != it1->second.end(); it2++)
750 if (it2->second)
delete it2->second;
768 std::map<Key, PriorityList*>::iterator
it =
fLists.find(i);
769 if (it ==
fLists.end())
return 0;
784 G4TrackList::Watcher* watcher,
787 std::map<Key, PriorityList*>::iterator
it =
fLists.find(
id);
788 if (it ==
fLists.end())
return false;
791 if (trackList == 0)
return false;
823 MapOfDelayedLists::iterator delayedmap_it =
fDelayedList.begin();
824 MapOfDelayedLists::iterator delayedmap_end =
fDelayedList.end();
826 for (; delayedmap_it != delayedmap_end; delayedmap_it++)
828 std::map<Key, G4TrackList*>::iterator
it = delayedmap_it->second.begin();
829 std::map<Key, G4TrackList*>::iterator end = delayedmap_it->second.end();
831 for (; it != end; it++)
833 if (it->second) nTracks += it->second->size();
844 MapOfPriorityLists::iterator
it =
fLists.begin();
845 MapOfPriorityLists::iterator end =
fLists.end();
846 for (; it != end; it++)
850 lists->SetWaitingList(lists->GetMainList());
859 MapOfDelayedLists::iterator __it =
fDelayedList.begin();
861 for (; __it != __end; __it++)
863 std::map<Key, G4TrackList*>& mapOfLists = __it->second;
864 if (mapOfLists.empty() ==
false)
866 std::map<Key, G4TrackList*>::iterator
it = mapOfLists.begin();
867 std::map<Key, G4TrackList*>::iterator end = mapOfLists.end();
868 for (; it != end; it++)
872 if (!(mainList->empty()))
return true;
883 MapOfPriorityLists::iterator
it = mapOfLists.begin();
884 MapOfPriorityLists::iterator end = mapOfLists.end();
885 for (; it != end; it++)
891 if (!(trackList->empty()))
return true;