33#ifndef G4ITREACTIONINFO_HH_
34#define G4ITREACTIONINFO_HH_
45#ifndef compTrackPerID__
46#define compTrackPerID__
102 G4ITReactionList::iterator it)
136 G4ITReactionList::iterator it =
138 reaction->AddIterator(this->shared_from_this(), it);
151 G4ITReactionList::iterator next;
152 for(G4ITReactionList::iterator it =
fReactions.begin() ;
210 reaction->AddIterator(it);
216 std::vector<G4Track*>::iterator it = reactants->begin();
217 for(;it != reactants->end() ; ++it)
229 backItUp->RemoveMe();
241 reaction->RemoveMe();
253 for(std::list<G4ITReactionPerTrackMap::iterator>::iterator it =
254 reactionPerTrack->GetListOfIterators().begin() ;
255 it != reactionPerTrack->GetListOfIterators().end() ;
260 reactionPerTrack->GetListOfIterators().clear();
261 reactionPerTrack->GetReactionList().clear();
270 it->second->RemoveMe();
300 std::pair< G4ITReactionPerTrackMap::iterator,bool> pos =
302 reactionPerTrack->AddIterator(pos.first);
306 reactionPerTrack = it->second;
309 reactionPerTrack->AddReaction(reaction);
G4shared_ptr< G4ITReactionPerTrack > G4ITReactionPerTrackPtr
std::list< G4ITReactionPtr > G4ITReactionList
G4shared_ptr< G4ITReaction > G4ITReactionPtr
G4shared_ptr< std::vector< G4Track * > > G4TrackVectorHandle
std::multiset< G4ITReactionPtr, compReactionPerTime > G4ITReactionPerTime
std::map< G4Track *, G4ITReactionPerTrackPtr, compTrackPerID > G4ITReactionPerTrackMap
std::list< std::pair< G4ITReactionPerTrackPtr, G4ITReactionList::iterator > > G4ReactionPerTrackIt
std::multiset< G4ITReactionPtr, compReactionPerTime >::iterator G4ITReactionPerTimeIt
#define G4enable_shared_from_this
void AddIterator(G4ITReactionPerTrackMap::iterator it)
G4ITReactionList fReactions
std::list< G4ITReactionPerTrackMap::iterator > & GetListOfIterators()
void AddReaction(G4ITReactionPtr reaction)
G4ITReactionList & GetReactionList()
std::list< G4ITReactionPerTrackMap::iterator > fReactionSetIt
virtual ~G4ITReactionPerTrack()
static G4ITReactionPerTrackPtr New()
bool RemoveThisReaction(G4ITReactionList::iterator it)
void AddReaction(G4Track *track, G4ITReactionPtr reaction)
static G4ThreadLocal G4ITReactionSet * fpInstance
void RemoveReactionSet(G4Track *track)
virtual ~G4ITReactionSet()
void AddReactions(double time, G4Track *trackA, G4TrackVectorHandle reactants)
void RemoveReactionPerTrack(G4ITReactionPerTrackPtr reactionPerTrack)
static G4ITReactionSet * Instance()
void SelectThisReaction(G4ITReactionPtr reaction)
G4ITReactionPerTime fReactionPerTime
G4ITReactionPerTrackMap & GetReactionMap()
void AddReaction(double time, G4Track *trackA, G4Track *trackB)
G4ITReactionPerTrackMap fReactionPerTrack
G4ITReactionPerTime & GetReactionsPerTime()
std::pair< G4Track *, G4Track * > GetReactants() const
std::pair< G4Track *, G4Track * > fReactants
G4ReactionPerTrackIt fReactionPerTrack
G4ITReactionPerTimeIt * fReactionPerTimeIt
void AddIterator(G4ITReactionPerTrackPtr reactionPerTrack, G4ITReactionList::iterator it)
static G4ITReactionPtr New(double time, G4Track *trackA, G4Track *trackB)
std::size_t GetHash() const
void AddIterator(G4ITReactionPerTimeIt it)
G4Track * GetReactant(G4Track *trackA)
bool operator()(G4ITReactionPtr rhs, G4ITReactionPtr lhs) const
bool operator()(G4Track *rhs, G4Track *lhs) const