GGS(GenericGEANT4Simulation)Software  2.6.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
GGSGeneratorActionsManager.h
1 /*
2  * GGSGeneratorActionsManager.h
3  *
4  * Created on: 09 Oct 2013
5  * Author: Nicola Mori
6  */
7 
8 #ifndef GGSGENERATORACTIONSMANAGER_H_
9 #define GGSGENERATORACTIONSMANAGER_H_
10 
11 #include "G4VUserPrimaryGeneratorAction.hh"
12 #include "G4GenericMessenger.hh"
13 
14 #include <map>
15 
17 public:
18 
19  static GGSGeneratorActionsManager &GetInstance();
20 
22 
23  // Manager interface
24  void RegisterGABuilder(const G4String &name, G4VUserPrimaryGeneratorAction *(*generatorBuilder)());
25  void SetGeneratorAction(const G4String &name);
26 
27 private:
28 
30 
31  typedef std::map<G4String, G4VUserPrimaryGeneratorAction *(*)()> GenBuildersMap;
32  GenBuildersMap _buildersMap;
33 
34  G4GenericMessenger *_messenger;
35  G4GenericMessenger::Command *_commandSet;
36  G4String _candidates;
37 
38 };
39 
40 #endif /* GGSGENERATORACTIONSMANAGER_H_ */