add detector simulation

This commit is contained in:
AndreaRigoni
2026-03-20 00:16:55 +00:00
parent c44a7738c0
commit 033fb598c7
17 changed files with 441 additions and 211 deletions

View File

@@ -2,35 +2,24 @@
#define ActionInitialization_h
#include "G4VUserActionInitialization.hh"
#include "Core/Vector.h"
#include "SimulationContext.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,
int verbosity = 0);
ActionInitialization(EmitterPrimary *emitter, SimulationContext *context);
~ActionInitialization();
void SetVerbosity(int level) { m_Verbosity = level; }
// 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;
virtual void BuildForMaster() const override;
virtual void Build() const override;
private:
EmitterPrimary *m_Emitter;
Vector<GeantEvent> *m_Output;
int m_Verbosity = 0;
EmitterPrimary *m_Emitter;
SimulationContext *m_Context;
};
} // namespace Geant