Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
Public 멤버 함수 | 정적 Public 멤버 함수 | Private 타입 | Private 멤버 함수 | Private 속성 | 모든 멤버 목록
G4INCL::Store 클래스 참조

#include <G4INCLStore.hh>

Public 멤버 함수

 Store (Config const *const config)
 
 ~Store ()
 
void add (Particle *p)
 
void add (ParticleList const &pL)
 Add a list of particles to the Store. 더 자세히 ...
 
void addParticleEntryAvatar (IAvatar *a)
 Add one ParticleEntry avatar. 더 자세히 ...
 
void addParticleEntryAvatars (IAvatarList const &al)
 Add one ParticleEntry avatar. 더 자세히 ...
 
void add (IAvatar *a)
 
IAvatarList const & getAvatars () const
 
void addIncomingParticle (Particle *const p)
 
void removeFromIncoming (Particle *const p)
 
void clearIncoming ()
 Clear the incoming list. 더 자세히 ...
 
void deleteIncoming ()
 Clear the incoming list and delete the particles. 더 자세히 ...
 
void particleHasBeenUpdated (Particle *const)
 Notify the Store about a particle update. 더 자세히 ...
 
void removeScheduledAvatars ()
 Remove avatars that have been scheduled. 더 자세히 ...
 
IAvatarfindSmallestTime ()
 
void timeStep (G4double step)
 
void particleHasBeenEjected (Particle *const)
 
void addToOutgoing (Particle *p)
 add the particle to the outgoing particle list. 더 자세히 ...
 
void addToOutgoing (ParticleList const &pl)
 Add a list of particles to the outgoing particle list. 더 자세히 ...
 
void particleHasBeenDestroyed (Particle *const)
 
void particleHasEntered (Particle *const particle)
 Move a particle from incoming to inside. 더 자세히 ...
 
ParticleList const & getIncomingParticles () const
 
ParticleList const & getOutgoingParticles () const
 
ParticleList extractDynamicalSpectators ()
 Returns a list of dynamical spectators. 더 자세히 ...
 
ParticleList const & getParticles () const
 
BookgetBook ()
 
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
 

정적 Public 멤버 함수

static G4bool avatarComparisonPredicate (IAvatar *lhs, IAvatar *rhs)
 Comparison predicate for avatars. 더 자세히 ...
 

Private 타입

typedef std::multimap
< Particle *, IAvatar * >
::value_type 
PAPair
 
typedef std::multimap
< Particle *, IAvatar * >
::iterator 
PAIter
 
typedef std::pair< PAIter, PAIterPAIterPair
 
typedef std::set< IAvatar * >
::const_iterator 
ASIter
 

Private 멤버 함수

 Store (const Store &rhs)
 Dummy copy constructor to shut up Coverity warnings. 더 자세히 ...
 
Storeoperator= (Store const &rhs)
 Dummy assignment operator to shut up Coverity warnings. 더 자세히 ...
 
void connectAvatarToParticle (IAvatar *const a, Particle *const p)
 Connect an avatar to a particle. 더 자세히 ...
 
void disconnectAvatarFromParticle (IAvatar *const a, Particle *const p)
 Disconnect an avatar from a particle. 더 자세히 ...
 
void removeAvatar (IAvatar *const a)
 Remove an avatar from the list of avatars. 더 자세히 ...
 

Private 속성

std::multimap< Particle
*, IAvatar * > 
particleAvatarConnections
 
std::set< IAvatar * > avatarsToBeRemoved
 Set of avatars to be removed. 더 자세히 ...
 
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.

G4INCLStore.hh 파일의 73 번째 라인에서 정의되었습니다.

멤버 타입정의 문서화

typedef std::set<IAvatar*>::const_iterator G4INCL::Store::ASIter
private

G4INCLStore.hh 파일의 406 번째 라인에서 정의되었습니다.

typedef std::multimap<Particle*, IAvatar*>::iterator G4INCL::Store::PAIter
private

G4INCLStore.hh 파일의 401 번째 라인에서 정의되었습니다.

typedef std::pair<PAIter, PAIter> G4INCL::Store::PAIterPair
private

G4INCLStore.hh 파일의 402 번째 라인에서 정의되었습니다.

typedef std::multimap<Particle*, IAvatar*>::value_type G4INCL::Store::PAPair
private

G4INCLStore.hh 파일의 400 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

G4INCL::Store::Store ( Config const *const  config)

Store constructor

G4INCLStore.cc 파일의 45 번째 라인에서 정의되었습니다.

G4INCL::Store::~Store ( )

Store destructor

G4INCLStore.cc 파일의 53 번째 라인에서 정의되었습니다.

다음을 참조함 : clear(), G4INCL::Book::reset(), theBook.

G4INCL::Store::Store ( const Store rhs)
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:

  1. add the particle to the particle map ParticleID -> Particle*
  2. add an empty entry for this particle into map AvatarID -> [ParticleID]

G4INCLStore.cc 파일의 58 번째 라인에서 정의되었습니다.

다음을 참조함 : inside.

다음에 의해서 참조됨 : G4INCL::Nucleus::applyFinalState(), G4INCL::Nucleus::initializeParticles(), loadParticles(), particleHasEntered(), G4INCL::StandardPropagationModel::registerAvatar().

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.

G4INCLStore.cc 파일의 62 번째 라인에서 정의되었습니다.

다음을 참조함 : inside.

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:

  1. Add the new avatar to the avatar list
  2. Add any related new particles to the store by calling add(Particle*) (this should not happen, by the time we are adding avatars all particles should have already been added)
  3. Connect the particles involved to the avatar in the map: particleAvatarConnections :: ParticleID -> [AvatarID]
  4. Add the new avatar to the map: avatarParticleConnections :: AvatarID -> [ParticleID]

G4INCLStore.cc 파일의 83 번째 라인에서 정의되었습니다.

다음을 참조함 : avatarList, connectAvatarToParticle(), e, G4INCL::IAvatar::getParticles().

void G4INCL::Store::addIncomingParticle ( Particle *const  p)

Add a particle to the incoming list.

매개변수
pparticle to add

G4INCLStore.cc 파일의 95 번째 라인에서 정의되었습니다.

다음을 참조함 : incoming.

다음에 의해서 참조됨 : addParticleEntryAvatar().

void G4INCL::Store::addParticleEntryAvatar ( IAvatar a)

Add one ParticleEntry avatar.

G4INCLStore.cc 파일의 66 번째 라인에서 정의되었습니다.

다음을 참조함 : addIncomingParticle(), avatarList, connectAvatarToParticle(), e, G4INCL::IAvatar::getParticles().

다음에 의해서 참조됨 : addParticleEntryAvatars(), G4INCL::INCL::makeCompoundNucleus(), G4INCL::StandardPropagationModel::shootParticle().

void G4INCL::Store::addParticleEntryAvatars ( IAvatarList const &  al)

Add one ParticleEntry avatar.

G4INCLStore.cc 파일의 78 번째 라인에서 정의되었습니다.

다음을 참조함 : a, addParticleEntryAvatar(), e.

다음에 의해서 참조됨 : G4INCL::StandardPropagationModel::shootComposite().

void G4INCL::Store::addToOutgoing ( Particle p)
inline
void G4INCL::Store::addToOutgoing ( ParticleList const &  pl)
inline

Add a list of particles to the outgoing particle list.

매개변수
pllist of particles to be added

G4INCLStore.hh 파일의 196 번째 라인에서 정의되었습니다.

다음을 참조함 : e.

static G4bool G4INCL::Store::avatarComparisonPredicate ( IAvatar lhs,
IAvatar rhs 
)
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.

매개변수
lhspointer to the first avatar
rhspointer to the second avatar
반환값
true iff lhs' time is smaller than rhs'.

G4INCLStore.hh 파일의 352 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::IAvatar::getTime().

다음에 의해서 참조됨 : findSmallestTime().

void G4INCL::Store::clear ( void  )

Clear all avatars and particles from the store.

Warning! This actually deletes the objects as well!

G4INCLStore.cc 파일의 203 번째 라인에서 정의되었습니다.

다음을 참조함 : clearAvatars(), clearInside(), clearOutgoing(), INCL_WARN, incoming.

다음에 의해서 참조됨 : loadParticles(), ~Store().

void G4INCL::Store::clearAvatars ( )

Clear avatars only.

G4INCLStore.cc 파일의 193 번째 라인에서 정의되었습니다.

다음을 참조함 : avatarList, avatarsToBeRemoved, e, particleAvatarConnections.

다음에 의해서 참조됨 : clear(), G4INCL::StandardPropagationModel::propagate().

void G4INCL::Store::clearIncoming ( )
inline

Clear the incoming list.

G4INCLStore.hh 파일의 145 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::INCL::makeCompoundNucleus(), G4INCL::INCL::postCascade().

void G4INCL::Store::clearInside ( )

Clear all inside particles from the store.

Warning! This actually deletes the objects as well!

G4INCLStore.cc 파일의 216 번째 라인에서 정의되었습니다.

다음을 참조함 : e, inside.

다음에 의해서 참조됨 : clear().

void G4INCL::Store::clearOutgoing ( )

Clear all outgoing particles from the store.

Warning! This actually deletes the objects as well!

G4INCLStore.cc 파일의 223 번째 라인에서 정의되었습니다.

다음을 참조함 : G4INCL::Cluster::deleteParticles(), e, outgoing.

다음에 의해서 참조됨 : clear(), G4INCL::INCL::makeCompoundNucleus().

void G4INCL::Store::connectAvatarToParticle ( IAvatar *const  a,
Particle *const  p 
)
private

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.

매개변수
pthe particle
athe avatar

G4INCLStore.cc 파일의 99 번째 라인에서 정의되었습니다.

다음을 참조함 : particleAvatarConnections.

다음에 의해서 참조됨 : add(), addParticleEntryAvatar().

G4bool G4INCL::Store::containsCollisions ( ) const

G4INCLStore.cc 파일의 351 번째 라인에서 정의되었습니다.

다음을 참조함 : avatarList, G4INCL::CollisionAvatarType, e.

G4int G4INCL::Store::countCascading ( )
inline

G4INCLStore.hh 파일의 261 번째 라인에서 정의되었습니다.

다음을 참조함 : e, n.

void G4INCL::Store::deleteIncoming ( )
inline

Clear the incoming list and delete the particles.

G4INCLStore.hh 파일의 150 번째 라인에서 정의되었습니다.

다음을 참조함 : e.

다음에 의해서 참조됨 : G4INCL::INCL::postCascade().

void G4INCL::Store::disconnectAvatarFromParticle ( IAvatar *const  a,
Particle *const  p 
)
private

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.

매개변수
pthe particle
athe avatar

G4INCLStore.cc 파일의 103 번째 라인에서 정의되었습니다.

다음을 참조함 : INCL_WARN, particleAvatarConnections.

다음에 의해서 참조됨 : removeAvatar().

ParticleList G4INCL::Store::extractDynamicalSpectators ( )
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.

반환값
the (possibly empty) list of dynamical spectators

G4INCLStore.hh 파일의 232 번째 라인에서 정의되었습니다.

다음을 참조함 : e, G4INCL::UnorderedVector< T >::remove().

다음에 의해서 참조됨 : G4INCL::INCL::makeProjectileRemnant().

IAvatar * G4INCL::Store::findSmallestTime ( )

Find the avatar that has the smallest time.

G4INCLStore.cc 파일의 142 번째 라인에서 정의되었습니다.

다음을 참조함 : avatarComparisonPredicate(), avatarList, removeAvatar().

다음에 의해서 참조됨 : G4INCL::StandardPropagationModel::propagate().

IAvatarList const& G4INCL::Store::getAvatars ( ) const
inline

Return the list of avatars

G4INCLStore.hh 파일의 126 번째 라인에서 정의되었습니다.

Book& G4INCL::Store::getBook ( )
inline
Config const* G4INCL::Store::getConfig ( )
inline
ParticleList const& G4INCL::Store::getIncomingParticles ( ) const
inline

Return the list of incoming particles (i.e. particles that have yet to enter the cascade).

G4INCLStore.hh 파일의 217 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4INCL::INCL::continueCascade().

G4int G4INCL::Store::getLoadedA ( )
inline

Get the value of the nucleus mass number that we read from file with loadParticles.

G4INCLStore.hh 파일의 311 번째 라인에서 정의되었습니다.

G4double G4INCL::Store::getLoadedStoppingTime ( )
inline

Get the value of the stopping time that we read from file with loadParticles.

G4INCLStore.hh 파일의 323 번째 라인에서 정의되었습니다.

G4int G4INCL::Store::getLoadedZ ( )
inline

Get the value of the nucleus charge number that we read from file with loadParticles.

G4INCLStore.hh 파일의 317 번째 라인에서 정의되었습니다.

ParticleList const& G4INCL::Store::getOutgoingParticles ( ) const
inline
ParticleList const& G4INCL::Store::getParticles ( ) const
inline
void G4INCL::Store::loadParticles ( std::string const &  filename)

Load particle configuration from ASCII file (see avatarPredictionTest).

G4INCLStore.cc 파일의 239 번째 라인에서 정의되었습니다.

다음을 참조함 : A(), add(), clear(), E, in, INCL_FATAL, G4INCL::Book::incrementCascading(), loadedA, loadedStoppingTime, loadedZ, G4INCL::Particle::makeParticipant(), G4INCL::Neutron, G4INCL::Proton, G4INCL::Particle::setPotentialEnergy(), theBook, G4INCL::UnknownParticle, x, y, Z, z.

Store& G4INCL::Store::operator= ( Store const &  rhs)
private

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.

G4INCLStore.cc 파일의 181 번째 라인에서 정의되었습니다.

다음을 참조함 : inside, particleHasBeenUpdated(), G4INCL::UnorderedVector< T >::remove().

다음에 의해서 참조됨 : G4INCL::Nucleus::applyFinalState().

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.

G4INCLStore.cc 파일의 175 번째 라인에서 정의되었습니다.

다음을 참조함 : inside, particleHasBeenUpdated(), G4INCL::UnorderedVector< T >::remove().

다음에 의해서 참조됨 : G4INCL::Nucleus::applyFinalState(), G4INCL::Nucleus::computeOneNucleonRecoilKinematics(), G4INCL::Nucleus::emitInsideKaon(), G4INCL::Nucleus::emitInsideLambda(), G4INCL::Nucleus::emitInsidePions(), G4INCL::Nucleus::emitInsideStrangeParticles().

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.

G4INCLStore.cc 파일의 127 번째 라인에서 정의되었습니다.

다음을 참조함 : avatarsToBeRemoved, particleAvatarConnections.

다음에 의해서 참조됨 : G4INCL::Nucleus::applyFinalState(), particleHasBeenDestroyed(), particleHasBeenEjected().

void G4INCL::Store::particleHasEntered ( Particle *const  particle)

Move a particle from incoming to inside.

매개변수
particlepointer to a particle

G4INCLStore.cc 파일의 188 번째 라인에서 정의되었습니다.

다음을 참조함 : add(), removeFromIncoming().

다음에 의해서 참조됨 : G4INCL::Nucleus::insertParticle().

std::string G4INCL::Store::printAvatars ( )

Print the list of avatars

G4INCLStore.cc 파일의 343 번째 라인에서 정의되었습니다.

다음을 참조함 : avatarList, e, ss.

std::string G4INCL::Store::printParticleConfiguration ( )

Print the nucleon configuration of the nucleus.

G4INCLStore.cc 파일의 286 번째 라인에서 정의되었습니다.

다음을 참조함 : A(), E, e, inside, G4INCL::Neutron, G4INCL::Proton, ss, x, y, Z, z.

다음에 의해서 참조됨 : writeParticles().

void G4INCL::Store::removeAvatar ( IAvatar *const  a)
private

Remove an avatar from the list of avatars.

Removes an avatar from the list of all avatars. The avatar is not deleted.

매개변수
athe avatar to remove

G4INCLStore.cc 파일의 115 번째 라인에서 정의되었습니다.

다음을 참조함 : avatarList, disconnectAvatarFromParticle(), e, G4INCL::IAvatar::getParticles(), G4INCL::UnorderedVector< T >::remove().

다음에 의해서 참조됨 : findSmallestTime(), removeScheduledAvatars().

void G4INCL::Store::removeFromIncoming ( Particle *const  p)
inline

Add a particle to the incoming list.

매개변수
pparticle to add

G4INCLStore.hh 파일의 142 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : particleHasEntered().

void G4INCL::Store::removeScheduledAvatars ( )

Remove avatars that have been scheduled.

G4INCLStore.cc 파일의 134 번째 라인에서 정의되었습니다.

다음을 참조함 : a, avatarsToBeRemoved, e, removeAvatar().

다음에 의해서 참조됨 : G4INCL::Nucleus::applyFinalState().

void G4INCL::Store::timeStep ( G4double  step)

Make one time step: propagate particles and subtract the length of the step from the avatar times.

G4INCLStore.cc 파일의 168 번째 라인에서 정의되었습니다.

다음을 참조함 : inside.

다음에 의해서 참조됨 : G4INCL::StandardPropagationModel::propagate().

void G4INCL::Store::writeParticles ( std::string const &  filename)

Print the nucleon configuration of the nucleus.

G4INCLStore.cc 파일의 337 번째 라인에서 정의되었습니다.

다음을 참조함 : printParticleConfiguration().

멤버 데이타 문서화

IAvatarList G4INCL::Store::avatarList
private

List of all avatars

G4INCLStore.hh 파일의 412 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : add(), addParticleEntryAvatar(), clearAvatars(), containsCollisions(), findSmallestTime(), printAvatars(), removeAvatar().

std::set<IAvatar*> G4INCL::Store::avatarsToBeRemoved
private

Set of avatars to be removed.

G4INCLStore.hh 파일의 405 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : clearAvatars(), particleHasBeenUpdated(), removeScheduledAvatars().

G4double G4INCL::Store::currentTime
private

The current time in the simulation

G4INCLStore.hh 파일의 437 번째 라인에서 정의되었습니다.

ParticleList G4INCL::Store::geomSpectators
private

List of geometrical spectators

G4INCLStore.hh 파일의 432 번째 라인에서 정의되었습니다.

ParticleList G4INCL::Store::incoming
private

List of incoming particles

G4INCLStore.hh 파일의 417 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : addIncomingParticle(), clear().

ParticleList G4INCL::Store::inside
private

List of particles that are inside the nucleus

G4INCLStore.hh 파일의 422 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : add(), clearInside(), particleHasBeenDestroyed(), particleHasBeenEjected(), printParticleConfiguration(), timeStep().

G4int G4INCL::Store::loadedA
private

The target nucleus mass number that was loaded from a particle file

G4INCLStore.hh 파일의 447 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : loadParticles().

G4double G4INCL::Store::loadedStoppingTime
private

The stopping time that was loaded from a particle file

G4INCLStore.hh 파일의 457 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : loadParticles().

G4int G4INCL::Store::loadedZ
private

The target nucleus charge number that was loaded from a particle file

G4INCLStore.hh 파일의 452 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : loadParticles().

ParticleList G4INCL::Store::outgoing
private

List of outgoing particles

G4INCLStore.hh 파일의 427 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : clearOutgoing().

std::multimap<Particle*, IAvatar*> G4INCL::Store::particleAvatarConnections
private

Map particle -> [avatar]

G4INCLStore.hh 파일의 399 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : clearAvatars(), connectAvatarToParticle(), disconnectAvatarFromParticle(), particleHasBeenUpdated().

Book G4INCL::Store::theBook
private

The Book object keeps track of global counters

G4INCLStore.hh 파일의 442 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : loadParticles(), ~Store().

Config const* G4INCL::Store::theConfig
private

Pointer to the Config object

G4INCLStore.hh 파일의 462 번째 라인에서 정의되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일들로부터 생성되었습니다.: