LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
PhysicsList.h
Go to the documentation of this file.
1 
39 #ifndef LArG4_PhysicsList_h
40 #define LArG4_PhysicsList_h
41 
42 #include "Geant4/G4VUserPhysicsList.hh"
43 #include "Geant4/G4VModularPhysicsList.hh"
44 #include "Geant4/G4VPhysicsConstructor.hh"
45 #include "Geant4/G4String.hh"
46 #include "Geant4/globals.hh"
47 #include "Geant4/QGSP_BIC.hh"
49 
50 namespace larg4 {
51 
52  // Under normal circumstances, there is no need to inherit a class
53  // from G4VModularPhysicsList. It's necessary here because we have
54  // to modify one of its routines.
55  class ModularPhysicsList : public G4VModularPhysicsList
56  {
57  public:
58  // Constructor.
59  explicit ModularPhysicsList();
60  virtual ~ModularPhysicsList();
61 
62  // This is the one method we're overridding to include the code
63  // for the parallel geometry.
64  virtual void ConstructProcess();
65 
66  // Non-virtual methods in G4VModularPhysicsList. Just call the
67  // method with the same name in G4VModularPhysicsList.
68  void RegisterPhysics(G4VPhysicsConstructor* g)
69  {
70  G4VModularPhysicsList::RegisterPhysics(g);
71  }
72  const G4VPhysicsConstructor* GetPhysics(G4int index) const
73  {
74  return G4VModularPhysicsList::GetPhysics(index);
75  }
76  const G4VPhysicsConstructor* GetPhysics(const G4String& name) const
77  {
78  return G4VModularPhysicsList::GetPhysics(name);
79  }
80 
81  };
82 
87 
88 } // namespace larg4
89 
90 #endif // LArG4_PhysicsList_h
Geant4 interface.
void RegisterPhysics(G4VPhysicsConstructor *g)
Definition: PhysicsList.h:68
const G4VPhysicsConstructor * GetPhysics(const G4String &name) const
Definition: PhysicsList.h:76
virtual void ConstructProcess()
Definition: PhysicsList.cxx:43
const G4VPhysicsConstructor * GetPhysics(G4int index) const
Definition: PhysicsList.h:72
TConfigurablePhysicsList< ModularPhysicsList > PhysicsList
Definition: PhysicsList.h:86