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.