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();
296 std::pair< G4ITReactionPerTrackMap::iterator,bool>
pos =
298 reactionPerTrack->AddIterator(pos.first);
302 reactionPerTrack = it->second;
305 reactionPerTrack->AddReaction(reaction);
static G4ITReactionSet * Instance()
bool RemoveThisReaction(G4ITReactionList::iterator it)
G4Track * GetReactant(G4Track *trackA)
static const G4double pos
G4ITReactionPerTimeIt * fReactionPerTimeIt
G4ITReactionList & GetReactionList()
bool operator()(G4Track *rhs, G4Track *lhs) const
void RemoveReactionSet(G4Track *track)
virtual ~G4ITReactionPerTrack()
G4ITReaction(double time, G4Track *, G4Track *)
G4shared_ptr< G4ITReactionPerTrack > G4ITReactionPerTrackPtr
G4shared_ptr< G4ITReaction > G4ITReactionPtr
void AddReaction(G4Track *track, G4ITReactionPtr reaction)
void RemoveReactionPerTrack(G4ITReactionPerTrackPtr reactionPerTrack)
G4ReactionPerTrackIt fReactionPerTrack
std::pair< G4Track *, G4Track * > fReactants
std::multiset< G4ITReactionPtr, compReactionPerTime >::iterator G4ITReactionPerTimeIt
G4ITReactionPerTime fReactionPerTime
#define G4enable_shared_from_this
void AddReaction(G4ITReactionPtr reaction)
G4ITReactionPerTrackMap & GetReactionMap()
void AddReaction(double time, G4Track *trackA, G4Track *trackB)
std::pair< G4Track *, G4Track * > GetReactants() const
std::map< G4Track *, G4ITReactionPerTrackPtr, compTrackPerID > G4ITReactionPerTrackMap
void AddIterator(G4ITReactionPerTrackPtr reactionPerTrack, G4ITReactionList::iterator it)
void AddIterator(G4ITReactionPerTrackMap::iterator it)
void SelectThisReaction(G4ITReactionPtr reaction)
static G4ITReactionPtr New(double time, G4Track *trackA, G4Track *trackB)
static G4ITReactionPerTrackPtr New()
std::list< std::pair< G4ITReactionPerTrackPtr, G4ITReactionList::iterator > > G4ReactionPerTrackIt
std::list< G4ITReactionPtr > G4ITReactionList
std::list< G4ITReactionPerTrackMap::iterator > & GetListOfIterators()
std::multiset< G4ITReactionPtr, compReactionPerTime > G4ITReactionPerTime
std::size_t GetHash() const
G4ITReactionPerTrackMap fReactionPerTrack
std::list< G4ITReactionPerTrackMap::iterator > fReactionSetIt
G4ITReactionList fReactions
void AddIterator(G4ITReactionPerTimeIt it)
virtual ~G4ITReactionSet()
static G4ThreadLocal G4ITReactionSet * fpInstance
G4ITReactionPerTime & GetReactionsPerTime()
bool operator()(G4ITReactionPtr rhs, G4ITReactionPtr lhs) const
G4shared_ptr< std::vector< G4Track * > > G4TrackVectorHandle
void AddReactions(double time, G4Track *trackA, G4TrackVectorHandle reactants)