]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4SDManager.h
not used typedef removed
[u/mrichter/AliRoot.git] / TGeant4 / TG4SDManager.h
1 // $Id$
2 // Category: digits+hits
3 //
4 // Geant4 implementation of the MonteCarlo interface methods                    
5 // for access to Geant4 geometry related with sensitive detectors.
6
7 #ifndef TG4_SD_MANAGER_H
8 #define TG4_SD_MANAGER_H
9
10 #include <globals.hh>
11
12 #include <Rtypes.h>
13
14 class TG4SDServices;
15 class TG4VSDConstruction;
16
17 class TG4SDManager
18 {
19   public:
20     TG4SDManager(TG4VSDConstruction* sdConstruction);
21     // --> protected
22     // TG4SDManager();
23     // TG4SDManager(const TG4SDManager& right);
24     virtual ~TG4SDManager();
25
26     // static methods
27     static TG4SDManager* Instance();
28
29     // methods
30     void Initialize();
31     
32     // AliMC methods
33     Int_t VolId(const Text_t* volName) const;                
34     const char* VolName(Int_t id) const;
35     Int_t NofVolumes() const; 
36     Int_t VolId2Mate(Int_t volumeId) const;
37
38     // get methods
39     TG4VSDConstruction* GetSDConstruction() const;
40
41   protected:
42     TG4SDManager();
43     TG4SDManager(const TG4SDManager& right);
44
45     // operators
46     TG4SDManager& operator=(const TG4SDManager& right);
47
48     // static data members
49     static TG4SDManager* fgInstance;   //this instance
50     
51     // data members
52     TG4VSDConstruction* fSDConstruction; //sensitive detectors construction
53     TG4SDServices*      fSDServices;     //services related with sensitive
54                                          //detectors
55
56 };
57
58 // inline methods
59
60 inline TG4SDManager* TG4SDManager::Instance() 
61 { return fgInstance; }
62
63 inline TG4VSDConstruction* TG4SDManager::GetSDConstruction() const
64 { return fSDConstruction; }
65
66 #endif //TG4_SD_MANAGER_H
67