GGS(GenericGEANT4Simulation)Software  2.7.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
GGSScoringManager.h
Go to the documentation of this file.
1 /*
2  * GGSScoringManager.h
3  *
4  * Created on: 02 Aug 2013
5  * Author: Nicola Mori
6  */
7 
10 #ifndef GGSSCORINGMANAGER_H_
11 #define GGSSCORINGMANAGER_H_
12 
13 #include "G4VSensitiveDetector.hh"
14 
15 #include <map>
16 
18 
27 public:
33 
36 
42  void RegisterSDClass(const G4String &className, G4VSensitiveDetector *(*sdBuilder)(G4String));
43 
58  void AddSDToLogVol(const G4String &sdClassName, const G4String &logVolNameAndParams);
59 
70  void AddSDToLogVol(G4VSensitiveDetector *sd, G4LogicalVolume *logVol);
71 
73  GGSScoringManagerMessenger *GetMessenger() { return _messenger; }
74 
75 private:
77 
78  typedef std::map<G4String, G4VSensitiveDetector *(*)(G4String)> SDBuildersMap;
79  SDBuildersMap _buildersMap;
80 
81  GGSScoringManagerMessenger *_messenger;
82 };
83 
84 #endif /* GGSSCORINGMANAGER_H_ */
~GGSScoringManager()
Destructor.
static GGSScoringManager & GetInstance()
Singleton getter.
void RegisterSDClass(const G4String &className, G4VSensitiveDetector *(*sdBuilder)(G4String))
Class registration method (class factory approach).
Singleton for handling plugin scoring classes.
Messenger for the GGSScoringManager singleton.
GGSScoringManagerMessenger * GetMessenger()
Getter for messenger.
void AddSDToLogVol(const G4String &sdClassName, const G4String &logVolNameAndParams)
Adds a sensitive detector to a logical volume (class factory approach).