Files
uLib/src/HEP/Geant/ActionInitialization.hh
2026-03-14 23:33:31 +00:00

35 lines
897 B
C++

#ifndef ActionInitialization_h
#define ActionInitialization_h
#include "G4VUserActionInitialization.hh"
#include "Core/Vector.h"
namespace uLib {
namespace Geant {
class EmitterPrimary;
class GeantEvent;
class ActionInitialization : public G4VUserActionInitialization {
public:
/// @param emitter the primary generator to use (owned by caller)
/// @param output pointer to the results vector (owned by caller)
ActionInitialization(EmitterPrimary *emitter = nullptr,
Vector<GeantEvent> *output = nullptr);
~ActionInitialization();
// Metodo chiamato solo dal thread principale (Master)
virtual void BuildForMaster() const;
// Metodo chiamato dai thread di lavoro (Worker) o in modalità sequenziale
virtual void Build() const;
private:
EmitterPrimary *m_Emitter;
Vector<GeantEvent> *m_Output;
};
} // namespace Geant
} // namespace uLib
#endif