14 #ifndef DD4HEP_DDG4_GEANT4STACKINGACTION_H
15 #define DD4HEP_DDG4_GEANT4STACKINGACTION_H
24 namespace Simulation {
27 class Geant4StackingAction;
28 class Geant4SharedStackingAction;
29 class Geant4StackingActionSequence;
138 #endif // DD4HEP_DDG4_GEANT4STACKINGACTION_H
virtual void prepare()
Preparation callback.
virtual void prepare()
Preparation callback.
virtual void prepare()
Preparation callback.
virtual void configureFiber(Geant4Context *thread_context)
Set or update client for the use in a new thread fiber.
virtual void configureFiber(Geant4Context *thread_context)
Set or update client for the use in a new thread fiber.
CallbackSequence m_newStage
Callback sequence for the newStage call.
virtual void newStage()
New-stage callback.
void callAtNewStage(T *p, void(T::*f)())
Register begin-of-event callback. Types Q and T must be polymorph!
void add(const Callback &cb, Location where)
Generically Add a new callback to the sequence depending on the location arguments.
Definition of an actor on sequences of callbacks.
Concrete implementation of the Geant4 stacking action base class.
Geant4SharedStackingAction(Geant4Context *context, const std::string &nam)
Standard constructor.
virtual void use(Geant4StackingAction *action)
Underlying object to be used during the execution of this thread.
Geant4Context * context() const
Access the context.
const std::string & name() const
Access name of the action.
Geant4SharedStackingAction shared_type
CallbackSequence m_prepare
Concrete implementation of the Geant4 stacking action sequence.
Geant4StackingActionSequence(Geant4Context *ctxt, const std::string &name)
Standard constructor.
Actors< Geant4StackingAction > m_actors
The list of action objects to be called.
virtual void newStage()
New-stage callback.
Geant4StackingAction * m_action
Reference to the shared action.
Implementation of the Geant4 shared stacking action.
Geant4StackingAction(Geant4Context *ctxt, const std::string &name)
Standard constructor.
Generic context to extend user, run and event information.
virtual ~Geant4StackingActionSequence()
Default destructor.
void callAtPrepare(T *p, void(T::*f)())
Register end-of-event callback. Types Q and T must be polymorph!
virtual void updateContext(Geant4Context *ctxt)
Set or update client context.
virtual ~Geant4SharedStackingAction()
Default destructor.
virtual void newStage()
New-stage callback.
void adopt(Geant4StackingAction *action)
Add an actor responding to all callbacks. Sequence takes ownership.
Default base class for all Geant 4 actions and derivates thereof.
virtual ~Geant4StackingAction()
Default destructor.