8 #ifndef G4ITREACTIONINFO_HH_
9 #define G4ITREACTIONINFO_HH_
20 #ifndef compTrackPerID__
21 #define compTrackPerID__
68 G4ITReactionList::iterator it)
95 G4ITReactionList::iterator it =
97 reaction->AddIterator(this->shared_from_this(), it);
109 G4ITReactionList::iterator next;
111 for(G4ITReactionList::iterator it =
fReactions.begin() ;
116 (*it)->RemoveMe(reactionSet);
152 std::vector<G4Track*>::iterator it = reactants->begin();
153 for(;it != reactants->end() ; ++it)
165 backItUp->RemoveMe(
this);
177 reaction->RemoveMe(
this);
189 for(std::list<G4ITReactionPerTrackMap::iterator>::iterator it =
190 reactionPerTrack->GetListOfIterators().begin() ;
191 it != reactionPerTrack->GetListOfIterators().end() ;
196 reactionPerTrack->GetListOfIterators().clear();
197 reactionPerTrack->GetReactionList().clear();
206 it->second->RemoveMe(
this);
226 std::pair< G4ITReactionPerTrackMap::iterator,bool>
pos =
228 reactionPerTrack->AddIterator(pos.first);
232 reactionPerTrack = it->second;
235 reactionPerTrack->AddReaction(reaction);
bool RemoveReaction(G4ITReactionList::iterator it, G4ITReactionSet *reactionSet)
G4ITReactionPerTrackMap fReactionPerTrack
virtual ~G4ITReactionSet()
G4ITReaction(double time, G4Track *, G4Track *)
#define G4enable_shared_from_this
G4ITReactionList & GetReactionList()
std::list< G4ITReactionPerTrackMap::iterator > fReactionSetIt
void RemoveReactionSet(G4Track *track)
void AddReaction(G4Track *track, G4ITReactionPtr reaction)
G4shared_ptr< std::vector< G4Track * > > G4TrackVectorHandle
void AddReactions(double time, G4Track *trackA, G4TrackVectorHandle reactants)
G4shared_ptr< G4ITReaction > G4ITReactionPtr
static G4ITReactionPerTrackPtr New()
void AddReaction(double time, G4Track *trackA, G4Track *trackB)
std::map< G4Track *, G4ITReactionPerTrackPtr, compTrackPerID > G4ITReactionPerTrackMap
G4ITReactionPerTrackMap & GetReactionMap()
void SelectThisReaction(G4ITReactionPtr reaction)
void RemoveMe(G4ITReactionSet *reactionSet)
void AddReaction(G4ITReactionPtr reaction)
std::list< G4ITReactionPerTrackMap::iterator > & GetListOfIterators()
std::list< G4ITReactionPtr > G4ITReactionList
G4Track * GetReactant(G4Track *trackA)
std::pair< G4Track *, G4Track * > GetReactants() const
void RemoveReactionPerTrack(G4ITReactionPerTrackPtr reactionPerTrack)
static G4ITReactionPtr New(double time, G4Track *trackA, G4Track *trackB)
G4shared_ptr< G4ITReactionPerTrack > G4ITReactionPerTrackPtr
std::pair< G4Track *, G4Track * > fReactants
G4ITReactionList fReactions
void AddIterator(G4ITReactionPerTrackPtr reactionPerTrack, G4ITReactionList::iterator it)
void AddIterator(G4ITReactionPerTrackMap::iterator it)
std::list< std::pair< G4ITReactionPerTrackPtr, G4ITReactionList::iterator > > G4ReactionPerTrackIt
void RemoveMe(G4ITReactionSet *reactionSet)
G4ReactionPerTrackIt fReactionPerTrack
bool operator()(G4Track *rhs, G4Track *lhs) const
static const G4double pos
virtual ~G4ITReactionPerTrack()