34 #define INCLXX_IN_GEANT4_MODE 1 
   38 #ifndef G4INCLParticleStore_hh 
   39 #define G4INCLParticleStore_hh 1 
   52 #ifdef INCLXX_IN_GEANT4_MODE 
   53 #define INCL_AVATAR_SEARCH_MinElement 1 
   54 #endif // INCLXX_IN_GEANT4_MODE 
   56 #if !defined(NDEBUG) && !defined(INCLXX_IN_GEANT4_MODE) 
   63 template class std::multimap<G4INCL::Particle*, G4INCL::IAvatar*>;
 
  102     void addParticleEntryAvatar(
IAvatar *a);
 
  105     void addParticleEntryAvatars(
IAvatarList const &al);
 
  135     void addIncomingParticle(
Particle * 
const p);
 
  151       for(
ParticleIter iter=incoming.begin(), e=incoming.end(); iter!=e; ++iter) {
 
  163     void particleHasBeenUpdated(
Particle * 
const);
 
  166     void removeScheduledAvatars();
 
  184     void particleHasBeenEjected(
Particle * 
const);
 
  205     void particleHasBeenDestroyed(
Particle * 
const);
 
  211     void particleHasEntered(
Particle * 
const particle);
 
  234       for(
ParticleIter p=outgoing.begin(), e=outgoing.end(); p!=e; ++
p) {
 
  235         if((*p)->isProjectileSpectator()) {
 
  237           spectators.push_back(*p); 
 
  242       for(
ParticleIter i=spectators.begin(); i!=spectators.end(); ++i) {
 
  263       for(
ParticleIter i=inside.begin(), e=inside.end(); i!=e; ++i) {
 
  264         if(!(*i)->isTargetSpectator())
 
  294     void clearOutgoing();
 
  305     void loadParticles(std::string 
const &filename);
 
  328     std::string printParticleConfiguration();
 
  333     void writeParticles(std::string 
const &filename);
 
  338     std::string printAvatars();
 
  340     G4bool containsCollisions() 
const;
 
  342 #if defined(INCL_AVATAR_SEARCH_FullSort) || defined(INCL_AVATAR_SEARCH_MinElement) 
  384     void disconnectAvatarFromParticle(
IAvatar * 
const a, 
Particle * 
const p);
 
  393     void removeAvatar(
IAvatar * 
const a);
 
  399     std::multimap<Particle*, IAvatar*> particleAvatarConnections;
 
  400     typedef std::multimap<Particle*, IAvatar*>::value_type PAPair;
 
  401     typedef std::multimap<Particle*, IAvatar*>::iterator PAIter;
 
  402     typedef std::pair<PAIter, PAIter> PAIterPair;
 
  405     std::set<IAvatar*> avatarsToBeRemoved;
 
  406     typedef std::set<IAvatar*>::const_iterator ASIter;
 
static G4bool avatarComparisonPredicate(IAvatar *lhs, IAvatar *rhs)
Comparison predicate for avatars. 
 
ParticleList const & getParticles() const 
 
Config const * getConfig()
 
void deleteIncoming()
Clear the incoming list and delete the particles. 
 
ParticleList const & getIncomingParticles() const 
 
IAvatarList const & getAvatars() const 
 
G4double getLoadedStoppingTime()
 
ParticleList const & getOutgoingParticles() const 
 
ParticleList extractDynamicalSpectators()
Returns a list of dynamical spectators. 
 
void addToOutgoing(ParticleList const &pl)
Add a list of particles to the outgoing particle list. 
 
void addToOutgoing(Particle *p)
add the particle to the outgoing particle list. 
 
ParticleList::const_iterator ParticleIter
 
void removeFromIncoming(Particle *const p)
 
void clearIncoming()
Clear the incoming list.