|
Geant4
10.02.p03
|
#include <G4INCLStore.hh>
Public Member Functions | |
| Store (Config const *const config) | |
| ~Store () | |
| void | add (Particle *p) |
| void | add (ParticleList const &pL) |
| Add a list of particles to the Store. More... | |
| void | addParticleEntryAvatar (IAvatar *a) |
| Add one ParticleEntry avatar. More... | |
| void | addParticleEntryAvatars (IAvatarList const &al) |
| Add one ParticleEntry avatar. More... | |
| void | add (IAvatar *a) |
| IAvatarList const & | getAvatars () const |
| void | addIncomingParticle (Particle *const p) |
| void | removeFromIncoming (Particle *const p) |
| void | clearIncoming () |
| Clear the incoming list. More... | |
| void | deleteIncoming () |
| Clear the incoming list and delete the particles. More... | |
| void | particleHasBeenUpdated (Particle *const) |
| Notify the Store about a particle update. More... | |
| void | removeScheduledAvatars () |
| Remove avatars that have been scheduled. More... | |
| IAvatar * | findSmallestTime () |
| void | timeStep (G4double step) |
| void | particleHasBeenEjected (Particle *const) |
| void | addToOutgoing (Particle *p) |
| add the particle to the outgoing particle list. More... | |
| void | addToOutgoing (ParticleList const &pl) |
| Add a list of particles to the outgoing particle list. More... | |
| void | particleHasBeenDestroyed (Particle *const) |
| void | particleHasEntered (Particle *const particle) |
| Move a particle from incoming to inside. More... | |
| ParticleList const & | getIncomingParticles () const |
| ParticleList const & | getOutgoingParticles () const |
| ParticleList | extractDynamicalSpectators () |
| Returns a list of dynamical spectators. More... | |
| ParticleList const & | getParticles () const |
| Book & | getBook () |
| G4int | countCascading () |
| Config const * | getConfig () |
| void | clear () |
| void | clearInside () |
| void | clearOutgoing () |
| void | clearAvatars () |
| void | loadParticles (std::string const &filename) |
| G4int | getLoadedA () |
| G4int | getLoadedZ () |
| G4double | getLoadedStoppingTime () |
| std::string | printParticleConfiguration () |
| void | writeParticles (std::string const &filename) |
| std::string | printAvatars () |
| G4bool | containsCollisions () const |
Static Public Member Functions | |
| static G4bool | avatarComparisonPredicate (IAvatar *lhs, IAvatar *rhs) |
| Comparison predicate for avatars. More... | |
Private Types | |
| typedef std::multimap< Particle *, IAvatar * >::value_type | PAPair |
| typedef std::multimap< Particle *, IAvatar * >::iterator | PAIter |
| typedef std::pair< PAIter, PAIter > | PAIterPair |
| typedef std::set< IAvatar * >::const_iterator | ASIter |
Private Member Functions | |
| Store (const Store &rhs) | |
| Dummy copy constructor to shut up Coverity warnings. More... | |
| Store & | operator= (Store const &rhs) |
| Dummy assignment operator to shut up Coverity warnings. More... | |
| void | connectAvatarToParticle (IAvatar *const a, Particle *const p) |
| Connect an avatar to a particle. More... | |
| void | disconnectAvatarFromParticle (IAvatar *const a, Particle *const p) |
| Disconnect an avatar from a particle. More... | |
| void | removeAvatar (IAvatar *const a) |
| Remove an avatar from the list of avatars. More... | |
Private Attributes | |
| std::multimap< Particle *, IAvatar * > | particleAvatarConnections |
| std::set< IAvatar * > | avatarsToBeRemoved |
| Set of avatars to be removed. More... | |
| IAvatarList | avatarList |
| ParticleList | incoming |
| ParticleList | inside |
| ParticleList | outgoing |
| ParticleList | geomSpectators |
| G4double | currentTime |
| Book | theBook |
| G4int | loadedA |
| G4int | loadedZ |
| G4double | loadedStoppingTime |
| Config const * | theConfig |
The purpose of the Store object is to act as a "particle manager" that keeps track ofall the particles in our simulation. It also tracks the avatars and their connections to particles.
Definition at line 73 of file G4INCLStore.hh.
|
private |
Definition at line 406 of file G4INCLStore.hh.
|
private |
Definition at line 401 of file G4INCLStore.hh.
|
private |
Definition at line 402 of file G4INCLStore.hh.
|
private |
Definition at line 400 of file G4INCLStore.hh.
| G4INCL::Store::Store | ( | Config const *const | config | ) |
| G4INCL::Store::~Store | ( | ) |
Store destructor
Definition at line 53 of file G4INCLStore.cc.
|
private |
Dummy copy constructor to shut up Coverity warnings.
| void G4INCL::Store::add | ( | Particle * | p | ) |
Add one particle to the store.
Particle objects don't know anything about avatars so this method will only do two things:
Definition at line 58 of file G4INCLStore.cc.
| void G4INCL::Store::add | ( | ParticleList const & | pL | ) |
Add a list of particles to the Store.
This acts as if add(Particle *) was called on each element of the list.
Definition at line 62 of file G4INCLStore.cc.
| void G4INCL::Store::add | ( | IAvatar * | a | ) |
Add one avatar to the store
Avatars know about the particles they are associated with. Adding an avatar consists of the following steps:
Definition at line 83 of file G4INCLStore.cc.
| void G4INCL::Store::addIncomingParticle | ( | Particle *const | p | ) |
Add a particle to the incoming list.
| p | particle to add |
Definition at line 95 of file G4INCLStore.cc.
| void G4INCL::Store::addParticleEntryAvatar | ( | IAvatar * | a | ) |
Add one ParticleEntry avatar.
Definition at line 66 of file G4INCLStore.cc.
| void G4INCL::Store::addParticleEntryAvatars | ( | IAvatarList const & | al | ) |
Add one ParticleEntry avatar.
Definition at line 78 of file G4INCLStore.cc.
|
inline |
add the particle to the outgoing particle list.
| p | pointer to the particle to be added |
Definition at line 190 of file G4INCLStore.hh.
|
inline |
Add a list of particles to the outgoing particle list.
| pl | list of particles to be added |
Definition at line 196 of file G4INCLStore.hh.
|
inlinestatic |
Comparison predicate for avatars.
avatarComparisonPredicate is used by the std::sort or std::min_element functions to compare the avatar objects according to their time.
| lhs | pointer to the first avatar |
| rhs | pointer to the second avatar |
Definition at line 352 of file G4INCLStore.hh.
| void G4INCL::Store::clear | ( | void | ) |
Clear all avatars and particles from the store.
Warning! This actually deletes the objects as well!
Definition at line 203 of file G4INCLStore.cc.
| void G4INCL::Store::clearAvatars | ( | ) |
Clear avatars only.
Definition at line 193 of file G4INCLStore.cc.
|
inline |
Clear the incoming list.
Definition at line 145 of file G4INCLStore.hh.
| void G4INCL::Store::clearInside | ( | ) |
Clear all inside particles from the store.
Warning! This actually deletes the objects as well!
Definition at line 216 of file G4INCLStore.cc.
| void G4INCL::Store::clearOutgoing | ( | ) |
Clear all outgoing particles from the store.
Warning! This actually deletes the objects as well!
Definition at line 223 of file G4INCLStore.cc.
Connect an avatar to a particle.
Adds the avatar to the list of avatars where the particle appears. This is typically called when the avatar is created.
| p | the particle |
| a | the avatar |
Definition at line 99 of file G4INCLStore.cc.
| G4bool G4INCL::Store::containsCollisions | ( | ) | const |
Definition at line 351 of file G4INCLStore.cc.
|
inline |
Definition at line 261 of file G4INCLStore.hh.
|
inline |
Clear the incoming list and delete the particles.
Definition at line 150 of file G4INCLStore.hh.
Disconnect an avatar from a particle.
Removes the avatar from the list of avatars where the particle appears. This is typically called when the avatar has been invalidated or realised.
| p | the particle |
| a | the avatar |
Definition at line 103 of file G4INCLStore.cc.
|
inline |
Returns a list of dynamical spectators.
Looks in the outgoing list for particles without collisions and decays, removes them from outgoing and returns them in a list.
Definition at line 232 of file G4INCLStore.hh.
| IAvatar * G4INCL::Store::findSmallestTime | ( | ) |
Find the avatar that has the smallest time.
Definition at line 142 of file G4INCLStore.cc.
|
inline |
|
inline |
Return the pointer to the Book object which keeps track of various counters.
Definition at line 259 of file G4INCLStore.hh.
|
inline |
Get the config object
Definition at line 273 of file G4INCLStore.hh.
|
inline |
Return the list of incoming particles (i.e. particles that have yet to enter the cascade).
Definition at line 217 of file G4INCLStore.hh.
|
inline |
Get the value of the nucleus mass number that we read from file with loadParticles.
Definition at line 311 of file G4INCLStore.hh.
|
inline |
Get the value of the stopping time that we read from file with loadParticles.
Definition at line 323 of file G4INCLStore.hh.
|
inline |
Get the value of the nucleus charge number that we read from file with loadParticles.
Definition at line 317 of file G4INCLStore.hh.
|
inline |
Return the list of outgoing particles (i.e. particles that have left the cascade).
Definition at line 223 of file G4INCLStore.hh.
|
inline |
Return the list of "active" particles (i.e. particles that can participate in collisions).
Definition at line 253 of file G4INCLStore.hh.
| void G4INCL::Store::loadParticles | ( | std::string const & | filename | ) |
Load particle configuration from ASCII file (see avatarPredictionTest).
Definition at line 239 of file G4INCLStore.cc.
Dummy assignment operator to shut up Coverity warnings.
| void G4INCL::Store::particleHasBeenDestroyed | ( | Particle * const | p | ) |
Remove the particle from the system. This also removes all avatars related to this particle.
Definition at line 181 of file G4INCLStore.cc.
| void G4INCL::Store::particleHasBeenEjected | ( | Particle * const | p | ) |
Mark the particle as ejected. This removes it from the list of inside particles and removes all avatars related to this particle.
Definition at line 175 of file G4INCLStore.cc.
| void G4INCL::Store::particleHasBeenUpdated | ( | Particle * const | particle | ) |
Notify the Store about a particle update.
Notify the Store that a particle has been updated. This schedules the removal of obsolete avatars and their disconnection from the particle.
Definition at line 127 of file G4INCLStore.cc.
| void G4INCL::Store::particleHasEntered | ( | Particle *const | particle | ) |
Move a particle from incoming to inside.
| particle | pointer to a particle |
Definition at line 188 of file G4INCLStore.cc.
| std::string G4INCL::Store::printAvatars | ( | ) |
Print the list of avatars
Definition at line 343 of file G4INCLStore.cc.
| std::string G4INCL::Store::printParticleConfiguration | ( | ) |
Print the nucleon configuration of the nucleus.
Definition at line 286 of file G4INCLStore.cc.
|
private |
Remove an avatar from the list of avatars.
Removes an avatar from the list of all avatars. The avatar is not deleted.
| a | the avatar to remove |
Definition at line 115 of file G4INCLStore.cc.
|
inline |
Add a particle to the incoming list.
| p | particle to add |
Definition at line 142 of file G4INCLStore.hh.
| void G4INCL::Store::removeScheduledAvatars | ( | ) |
Remove avatars that have been scheduled.
Definition at line 134 of file G4INCLStore.cc.
| void G4INCL::Store::timeStep | ( | G4double | step | ) |
Make one time step: propagate particles and subtract the length of the step from the avatar times.
Definition at line 168 of file G4INCLStore.cc.
| void G4INCL::Store::writeParticles | ( | std::string const & | filename | ) |
Print the nucleon configuration of the nucleus.
Definition at line 337 of file G4INCLStore.cc.
|
private |
List of all avatars
Definition at line 412 of file G4INCLStore.hh.
|
private |
Set of avatars to be removed.
Definition at line 405 of file G4INCLStore.hh.
|
private |
The current time in the simulation
Definition at line 437 of file G4INCLStore.hh.
|
private |
List of geometrical spectators
Definition at line 432 of file G4INCLStore.hh.
|
private |
List of incoming particles
Definition at line 417 of file G4INCLStore.hh.
|
private |
List of particles that are inside the nucleus
Definition at line 422 of file G4INCLStore.hh.
|
private |
The target nucleus mass number that was loaded from a particle file
Definition at line 447 of file G4INCLStore.hh.
|
private |
The stopping time that was loaded from a particle file
Definition at line 457 of file G4INCLStore.hh.
|
private |
The target nucleus charge number that was loaded from a particle file
Definition at line 452 of file G4INCLStore.hh.
|
private |
List of outgoing particles
Definition at line 427 of file G4INCLStore.hh.
Map particle -> [avatar]
Definition at line 399 of file G4INCLStore.hh.
|
private |
The Book object keeps track of global counters
Definition at line 442 of file G4INCLStore.hh.
|
private |
Pointer to the Config object
Definition at line 462 of file G4INCLStore.hh.