make scene able to run parallel simulations
This commit is contained in:
@@ -6,10 +6,12 @@ namespace uLib {
|
||||
namespace Geant {
|
||||
|
||||
ActionInitialization::ActionInitialization(EmitterPrimary *emitter,
|
||||
Vector<GeantEvent> *output)
|
||||
Vector<GeantEvent> *output,
|
||||
int verbosity)
|
||||
: G4VUserActionInitialization(),
|
||||
m_Emitter(emitter),
|
||||
m_Output(output)
|
||||
m_Output(output),
|
||||
m_Verbosity(verbosity)
|
||||
{}
|
||||
|
||||
ActionInitialization::~ActionInitialization() {}
|
||||
@@ -21,7 +23,7 @@ void ActionInitialization::BuildForMaster() const {
|
||||
void ActionInitialization::Build() const {
|
||||
// Register the primary generator
|
||||
if (m_Emitter) {
|
||||
SetUserAction(m_Emitter);
|
||||
SetUserAction(m_Emitter->Clone());
|
||||
} else {
|
||||
// Fallback: default EmitterPrimary
|
||||
SetUserAction(new EmitterPrimary());
|
||||
@@ -30,6 +32,7 @@ void ActionInitialization::Build() const {
|
||||
// Register actions
|
||||
if (m_Output) {
|
||||
SteppingAction *sa = new SteppingAction(m_Output);
|
||||
sa->SetVerbosity(m_Verbosity);
|
||||
SetUserAction(static_cast<G4UserSteppingAction*>(sa));
|
||||
SetUserAction(static_cast<G4UserEventAction*>(sa));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user