]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliSDConstruction.h
added function for drawing histograms one by one; added function for loading histogra...
[u/mrichter/AliRoot.git] / AliGeant4 / AliSDConstruction.h
1 // $Id$
2 // Category: digits+hits
3 //
4 // Author: I. Hrivnacova
5 //
6 // Class AliSDConstruction
7 // -----------------------
8 /// Mandatory (TGeant4) class providing method for creating 
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
16 #include "TG4VSDConstruction.h"
17
18 #include <globals.hh>
19
20 class AliLego;
21 class AliModule;
22
23 class G4VPhysicalVolume;
24 class G4LogicalVolume;
25
26 class AliSDConstruction : public TG4VSDConstruction 
27 {  
28   public:
29     AliSDConstruction();
30     virtual ~AliSDConstruction();
31     
32     // methods    
33     virtual void Construct();
34
35     void SetLego(AliLego* lego) const;
36     void UnsetLego() const;
37
38   private:
39     // methods
40     void InitializeModules();
41     AliModule* FindAliModule(G4LogicalVolume* lv) const;
42     void CreateSD(G4LogicalVolume* lv, AliModule* module) const;
43     void CreateLegoSD(G4LogicalVolume* lv, AliLego* lego) const;
44     void UnsetLegoSD(G4LogicalVolume* lv) const;    
45 };             
46
47 #endif //ALI_SD_CONSTRUCTION_H