GGS(GenericGEANT4Simulation)Software  2.6.0
 All Data Structures Namespaces Files Functions Variables Typedefs Macros
GGSMultiSensitiveDetector.h
Go to the documentation of this file.
1 /*
2  * GGSMultiSensitiveDetector.h
3  *
4  * Created on: 02 Aug2013
5  * Author: Nicola Mori
6  */
7 
10 #ifndef GGSMULTISENSITIVEDETECTOR_H_
11 #define GGSMULTISENSITIVEDETECTOR_H_
12 
13 #include "G4VSensitiveDetector.hh"
14 
15 #include <vector>
16 
17 
40 class GGSMultiSensitiveDetector: public G4VSensitiveDetector {
41 public:
42 
44  GGSMultiSensitiveDetector(G4String name);
45 
48 
53  void AddSensitiveDetector(G4VSensitiveDetector *sd);
54 
60  G4VSensitiveDetector *GetSensitiveDetector(const G4String &sdName);
61 
66  const std::vector<G4VSensitiveDetector *> &GetListOfSensitiveDetectors(){
67  return _sdVector;
68  }
69 
77  G4bool ProcessHits(G4Step*, G4TouchableHistory*);
78 
80  void clear();
81 
88  void Activate (G4bool activeFlag);
89 
91  void SetROgeometry(G4VReadOutGeometry *value);
92 
94  void SetFilter(G4VSDFilter *value);
95 
96 
97 private:
98  std::vector<G4VSensitiveDetector *> _sdVector;
99 
100 };
101 
102 #endif /* GGSMULTISENSITIVEDETECTOR_H_ */
GGSMultiSensitiveDetector(G4String name)
Constructor.
void Activate(G4bool activeFlag)
Enables or disables the multidetector.
const std::vector< G4VSensitiveDetector * > & GetListOfSensitiveDetectors()
Retrieves a list of sensitive detectors collected into this object.
void clear()
Calls clear for all the detectors in the multidetector.
A multiple sensitive detector.
void SetFilter(G4VSDFilter *value)
Calls SetFilter for all the detectors in the multidetector.
G4VSensitiveDetector * GetSensitiveDetector(const G4String &sdName)
Retrieves a detector.
void SetROgeometry(G4VReadOutGeometry *value)
Calls SetROgeometry for all the detectors in the multidetector.
G4bool ProcessHits(G4Step *, G4TouchableHistory *)
Empty method.
void AddSensitiveDetector(G4VSensitiveDetector *sd)
Adds a new sensitive detector to the multidetector.