]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliSDConstruction.h
Updated class description: added class title, author;
[u/mrichter/AliRoot.git] / AliGeant4 / AliSDConstruction.h
1 // $Id$
2 // Category: digits+hits
3 //
4 // Mandatory (TGeant4) class providing method for creating 
5 // sensitive detectors.
6 // It provides also methods for switching between lego 
7 // sensitive detectors and the standard ones.
8
9 #ifndef ALI_SD_CONSTRUCTION_H
10 #define ALI_SD_CONSTRUCTION_H
11
12 #include "TG4VSDConstruction.h"
13
14 #include <globals.hh>
15
16 class AliLego;
17 class AliModule;
18
19 class G4VPhysicalVolume;
20 class G4LogicalVolume;
21
22 class AliSDConstruction : public TG4VSDConstruction 
23 {  
24   public:
25     AliSDConstruction();
26     virtual ~AliSDConstruction();
27     
28     // methods    
29     virtual void Construct();
30
31     void SetLego(AliLego* lego) const;
32     void UnsetLego() const;
33
34   private:
35     // methods
36     void InitializeModules();
37     AliModule* FindAliModule(G4LogicalVolume* lv) const;
38     void CreateSD(G4LogicalVolume* lv, AliModule* module) const;
39     void CreateLegoSD(G4LogicalVolume* lv, AliLego* lego) const;
40     void UnsetLegoSD(G4LogicalVolume* lv) const;    
41 };             
42
43 #endif //ALI_SD_CONSTRUCTION_H