33 #define INCLXX_IN_GEANT4_MODE 1
37 #ifndef G4INCLParticleStore_hh
38 #define G4INCLParticleStore_hh 1
50 #ifdef INCLXX_IN_GEANT4_MODE
51 #define INCL_AVATAR_SEARCH_MinElement 1
52 #endif // INCLXX_IN_GEANT4_MODE
133 for(
ParticleIter iter=incoming.begin(), e=incoming.end(); iter!=e; ++iter) {
212 for(
ParticleIter p=outgoing.begin(), e=outgoing.end(); p!=e; ++
p) {
213 if((*p)->isProjectileSpectator()) {
215 spectators.push_back(*p);
220 for(
ParticleIter i=spectators.begin(); i!=spectators.end(); ++i) {
241 for(
ParticleIter i=inside.begin(), e=inside.end(); i!=e; ++i) {
242 if(!(*i)->isTargetSpectator())
327 #if defined(INCL_AVATAR_SEARCH_FullSort) || defined(INCL_AVATAR_SEARCH_MinElement)
340 #elif defined(INCL_AVATAR_SEARCH_INCLSort)
354 std::list<IAvatarIter>::iterator binaryIterSearch(
IAvatar const *
const avatar);
384 void disconnectAvatarFromParticle(
IAvatar *
const a,
Particle *
const p);
393 void removeAvatar(
IAvatar *
const a);
401 void removeAndDeleteAvatar(
IAvatar *
const a);
407 std::map<Particle*, IAvatarList* > particleAvatarConnections;
464 #ifdef INCL_AVATAR_SEARCH_INCLSort
470 std::list<IAvatarIter> avatarIterList;
std::string printParticleConfiguration()
void writeParticles(std::string filename)
static G4bool avatarComparisonPredicate(IAvatar *lhs, IAvatar *rhs)
Comparison predicate for avatars.
std::string printAvatars()
ParticleList const & getParticles() const
G4bool containsCollisions() const
IAvatar * findSmallestTime()
Config const * getConfig()
void deleteIncoming()
Clear the incoming list and delete the particles.
ParticleList const & getIncomingParticles() const
Store(Config const *const config)
IAvatarList const & getAvatars() const
void addParticleEntryAvatars(IAvatarList const &al)
Add one ParticleEntry avatar.
G4double getLoadedStoppingTime()
ParticleList const & getOutgoingParticles() const
ParticleList extractDynamicalSpectators()
Returns a list of dynamical spectators.
void particleHasBeenDestroyed(Particle *const)
void initialiseParticleAvatarConnections()
Initialise the particleAvatarConnections map.
void particleHasBeenEjected(Particle *const)
void addParticleEntryAvatar(IAvatar *a)
Add one ParticleEntry avatar.
void particleHasBeenUpdated(Particle *const)
void loadParticles(std::string filename)
void addToOutgoing(ParticleList const &pl)
Add a list of particles to the outgoing particle list.
void addIncomingParticle(Particle *const p)
void addToOutgoing(Particle *p)
add the particle to the outgoing particle list.
void timeStep(G4double step)
ParticleList::const_iterator ParticleIter
void removeFromIncoming(Particle *const p)
void clearIncoming()
Clear the incoming list.
void particleHasEntered(Particle *const particle)
Move a particle from incoming to inside.