SLIC  6.1.1
Simulation for the Linear Collider (SLIC) - Geant4 simulation application
PhysicsListManager.hh
Go to the documentation of this file.
1 #ifndef SLIC_PHYSICSLISTMANAGER_HH_
2 #define SLIC_PHYSICSLISTMANAGER_HH_ 1
3 
4 // lcdd
5 #include "Module.hh"
6 
7 // slic
8 #include "PhysicsMessenger.hh"
9 #include "Singleton.hh"
10 
11 // geant4
12 #include "G4VUserPhysicsList.hh"
13 #include "G4Decay.hh"
14 
15 // std
16 #include <string>
17 
18 class G4PhysListFactory;
19 class G4VUserPhysicsList;
20 
21 namespace slic {
22 
29 class PhysicsListManager: public Module, public Singleton<PhysicsListManager> {
30 
31  public:
32 
37 
41  virtual ~PhysicsListManager();
42 
43  public:
44 
50  G4VUserPhysicsList* createPhysicsList();
51 
57  void setCurrentListName(const std::string& name);
58 
63  inline const std::string& getCurrentListName() {
64  return m_currentListName;
65  }
66 
71  inline bool isInitialized() {
72  return m_isInitialized;
73  }
74 
79  inline void enableLimits(bool enableLimits) {
81  }
82 
87  inline bool enableLimits() {
88  return m_enableLimits;
89  }
90 
95  inline bool enableOptical() {
96  return m_enableOptical;
97  }
98 
103  inline void enableOptical(bool enableOptical) {
105  }
106 
111 
116 
117  private:
118 
122  void setupSUSY();
123 
124  private:
125 
126  G4VUserPhysicsList* m_currentList;
127 
133 
135 
136  std::string m_currentListName;
137  static const std::string m_defaultListName;
138 
139  G4PhysListFactory *m_factory;
140 };
141 }
142 
143 #endif
Base class for slic code modules that provides common functionality, such as logging to an output str...
Definition: Module.hh:25
Provides management of user physics lists.
void setCurrentListName(const std::string &name)
static const std::string m_defaultListName
const std::string & getCurrentListName()
PhysicsMessenger * m_messenger
G4PhysListFactory * m_factory
G4VUserPhysicsList * m_currentList
void enableLimits(bool enableLimits)
void enableOptical(bool enableOptical)
G4VUserPhysicsList * createPhysicsList()
G4UImessenger for selection of physics list at runtime.
@ name
Definition: LogStream.hh:26