Bugfix in AliPoints2Memory
[u/mrichter/AliRoot.git] / AliGeant4 / AliLegoSensitiveDetector.h
1 // $Id$
2 // Category: digits+hits
3 //
4 // Special sensitive detector class for lego run.
5 // It implements G4VSensitiveDetector::ProcessHits() 
6 // with AliLego:: StepManager().
7
8 #ifndef ALI_LEGO_SENSITIVE_DETECTOR_H
9 #define ALI_LEGO_SENSITIVE_DETECTOR_H
10
11 #include "TG4VSensitiveDetector.h"
12
13 #include <globals.hh>
14
15 class AliLego;
16
17 class G4HCofThisEvent;
18 class G4Step;
19
20 class AliLegoSensitiveDetector : public TG4VSensitiveDetector
21 {
22   public:
23     AliLegoSensitiveDetector(G4String name, AliLego* lego,
24                              G4VSensitiveDetector* standardSD);
25     AliLegoSensitiveDetector(const AliLegoSensitiveDetector& right);
26     // --> protected
27     // AliLegoSensitiveDetector();
28     virtual ~AliLegoSensitiveDetector();
29
30     // operators
31     AliLegoSensitiveDetector& operator=(const AliLegoSensitiveDetector& right);
32
33     // methods
34     virtual void UserProcessHits(const G4Track* track, const G4Step* step);
35     
36     // get methods
37     G4VSensitiveDetector* GetStandardSD() const;
38     
39   protected:  
40     AliLegoSensitiveDetector();
41     
42   private:
43     // data members
44     AliLego*               fLego;        //lego from AliRoot
45     G4VSensitiveDetector*  fStandardSD;  //standard sensitive detector
46 };
47
48 // inline methods
49
50 inline G4VSensitiveDetector* AliLegoSensitiveDetector::GetStandardSD() const
51 { return fStandardSD; }
52
53 #endif //ALI_LEGO_SENSITIVE_DETECTOR_H
54
55