]>
Commit | Line | Data |
---|---|---|
c926eee0 | 1 | // $Id$ |
2 | // Category: digits+hits | |
3 | // | |
7005154f | 4 | // Author: I. Hrivnacova |
5 | // | |
6 | // Class AliSDConstruction | |
7 | // ----------------------- | |
c5141056 | 8 | // Mandatory (TGeant4) class providing method for creating |
c926eee0 | 9 | // sensitive detectors. |
10 | // It provides also methods for switching between lego | |
11 | // sensitive detectors and the standard ones. | |
12 | ||
13 | #ifndef ALI_SD_CONSTRUCTION_H | |
14 | #define ALI_SD_CONSTRUCTION_H | |
15 | ||
e980662a | 16 | #include "AliVerbose.h" |
17 | ||
c926eee0 | 18 | #include "TG4VSDConstruction.h" |
19 | ||
20 | #include <globals.hh> | |
21 | ||
22 | class AliLego; | |
23 | class AliModule; | |
24 | ||
25 | class G4VPhysicalVolume; | |
26 | class G4LogicalVolume; | |
27 | ||
e980662a | 28 | class AliSDConstruction : public TG4VSDConstruction, |
29 | public AliVerbose | |
c926eee0 | 30 | { |
31 | public: | |
32 | AliSDConstruction(); | |
33 | virtual ~AliSDConstruction(); | |
34 | ||
35 | // methods | |
36 | virtual void Construct(); | |
37 | ||
38 | void SetLego(AliLego* lego) const; | |
39 | void UnsetLego() const; | |
40 | ||
41 | private: | |
42 | // methods | |
43 | void InitializeModules(); | |
44 | AliModule* FindAliModule(G4LogicalVolume* lv) const; | |
45 | void CreateSD(G4LogicalVolume* lv, AliModule* module) const; | |
46 | void CreateLegoSD(G4LogicalVolume* lv, AliLego* lego) const; | |
47 | void UnsetLegoSD(G4LogicalVolume* lv) const; | |
48 | }; | |
49 | ||
50 | #endif //ALI_SD_CONSTRUCTION_H |