ATLAS Offline Software
G4AtlasUserWorkerInitialization.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASALG_G4ATLASUSERWORKERINITIALIZATION_H
6 #define G4ATLASALG_G4ATLASUSERWORKERINITIALIZATION_H
7 
8 #include <G4FastSimulationManagerProcess.hh>
9 #include <G4ParticleDefinition.hh>
10 #include <G4ParticleTable.hh>
11 #include <G4ProcessManager.hh>
12 #include <G4UserWorkerInitialization.hh>
13 
18 class G4AtlasUserWorkerInitialization : public G4UserWorkerInitialization {
19 public:
20  struct Config {
22  };
23 
25  : G4UserWorkerInitialization(), m_config(config) {}
26 
27  void WorkerRunStart() const override
28  {
30  return;
31  // Enable fast simulation processes for all particle types
32  // Initialized here because it needs to happen after Geant4 physics initialization to access the particle table
33  G4FastSimulationManagerProcess* fastSimManagerProcess = new G4FastSimulationManagerProcess;
34  G4ParticleTable* theParticleTable = G4ParticleTable::GetParticleTable();
35  G4ParticleTable::G4PTblDicIterator* theParticleIterator = theParticleTable->GetIterator();
36 
37  theParticleIterator->reset();
38  while( (*theParticleIterator)() ){
39  G4ParticleDefinition* particle = theParticleIterator->value();
40  G4ProcessManager* pmanager = particle->GetProcessManager();
41  pmanager->AddProcess(fastSimManagerProcess, -1, 1, 1);
42  }
43  }
44 
45 private:
47 };
48 #endif
G4AtlasUserWorkerInitialization::m_config
Config m_config
Definition: G4AtlasUserWorkerInitialization.h:46
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:79
G4AtlasUserWorkerInitialization::Config
Definition: G4AtlasUserWorkerInitialization.h:20
G4AtlasUserWorkerInitialization
ATLAS custom class for worker initialization functionality.
Definition: G4AtlasUserWorkerInitialization.h:18
G4AtlasUserWorkerInitialization::Config::m_activateFastSimulation
bool m_activateFastSimulation
Activate fast simulation processes.
Definition: G4AtlasUserWorkerInitialization.h:21
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
G4AtlasUserWorkerInitialization::WorkerRunStart
void WorkerRunStart() const override
Definition: G4AtlasUserWorkerInitialization.h:27
G4AtlasUserWorkerInitialization::G4AtlasUserWorkerInitialization
G4AtlasUserWorkerInitialization(const Config &config)
Definition: G4AtlasUserWorkerInitialization.h:24