33 #define INCLXX_IN_GEANT4_MODE 1
50 void CascadeAction::beforeRunAction(
Config const *
config) {
51 beforeRunDefaultAction(config);
55 void CascadeAction::beforeCascadeAction(IPropagationModel *pm) {
56 beforeCascadeDefaultAction(pm);
60 void CascadeAction::beforePropagationAction(IPropagationModel *pm) {
61 beforePropagationDefaultAction(pm);
65 void CascadeAction::beforeAvatarAction(IAvatar *
a, Nucleus *
n) {
66 beforeAvatarDefaultAction(a, n);
70 void CascadeAction::afterAvatarAction(IAvatar *
a, Nucleus *
n, FinalState *fs) {
71 afterAvatarDefaultAction(a, n, fs);
75 void CascadeAction::afterPropagationAction(IPropagationModel *pm, IAvatar *avatar) {
76 afterPropagationDefaultAction(pm, avatar);
80 void CascadeAction::afterCascadeAction(Nucleus *
n) {
81 afterCascadeDefaultAction(n);
85 void CascadeAction::afterRunAction() {
86 afterRunDefaultAction();
92 void CascadeAction::beforeRunDefaultAction(Config
const * ) {}
94 void CascadeAction::beforeCascadeDefaultAction(IPropagationModel * ) {}
96 void CascadeAction::beforePropagationDefaultAction(IPropagationModel * ) {
100 void CascadeAction::beforeAvatarDefaultAction(IAvatar *
a, Nucleus *
n) {
101 n->getStore()->getBook().incrementAvatars(a->getType());
102 INCL_DEBUG(
"Random seeds before avatar " << a->getID() <<
": "
104 INCL_DEBUG(
"Next avatar:" << std::endl << a->dump() << std::endl);
107 void CascadeAction::afterAvatarDefaultAction(IAvatar *a, Nucleus * , FinalState *fs) {
112 INCL_DEBUG(
"Random seeds after avatar " << a->getID() <<
": "
117 if(a->isACollision())
118 (*p)->incrementNumberOfCollisions();
119 else if(a->isADecay())
120 (*p)->incrementNumberOfDecays();
124 if(a->isACollision())
125 (*p)->incrementNumberOfCollisions();
126 else if(a->isADecay())
127 (*p)->incrementNumberOfDecays();
131 void CascadeAction::afterPropagationDefaultAction(IPropagationModel * ,
135 #ifdef INCL_DEBUG_LOG
140 void CascadeAction::afterCascadeDefaultAction(Nucleus * ) {}
142 void CascadeAction::afterRunDefaultAction() {}
virtual void beforeAvatarUserAction(IAvatar *, Nucleus *)
Class containing default actions to be performed at intermediate cascade steps.
virtual void beforeCascadeUserAction(IPropagationModel *)
UnorderedVector< Particle * > ParticleList
virtual void afterRunUserAction()
virtual void afterPropagationUserAction(IPropagationModel *, IAvatar *)
virtual void afterAvatarUserAction(IAvatar *, Nucleus *, FinalState *)
virtual void beforePropagationUserAction(IPropagationModel *)
virtual void beforeRunUserAction(Config const *)
virtual void afterCascadeUserAction(Nucleus *)
ParticleList::const_iterator ParticleIter