]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant4/AliLegoSensitiveDetector.h
renamed static data members (change of coding conventions)
[u/mrichter/AliRoot.git] / AliGeant4 / AliLegoSensitiveDetector.h
1 // $Id$
2 // Category: geometry
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 class TG4StepManager;
17
18 class G4HCofThisEvent;
19 class G4Step;
20
21 class AliLegoSensitiveDetector : public TG4VSensitiveDetector
22 {
23   public:
24     AliLegoSensitiveDetector(G4String name, AliLego* lego,
25                              G4VSensitiveDetector* standardSD);
26     AliLegoSensitiveDetector(const AliLegoSensitiveDetector& right);
27     // --> protected
28     // AliLegoSensitiveDetector();
29     virtual ~AliLegoSensitiveDetector();
30
31     // operators
32     AliLegoSensitiveDetector& operator=(const AliLegoSensitiveDetector& right);
33
34     // methods
35     virtual void Initialize(G4HCofThisEvent* hc);
36     virtual G4bool ProcessHits(G4Step* step, G4TouchableHistory* history);
37     virtual void EndOfEvent(G4HCofThisEvent* hce);
38     //virtual void clear();
39     virtual void PrintAll();
40     virtual void DrawAll();
41     
42     // get methods
43     G4VSensitiveDetector* GetStandardSD() const;
44     
45   protected:  
46     AliLegoSensitiveDetector();
47     
48   private:
49     // data members
50     AliLego*               fLego;        //lego from AliRoot
51     G4VSensitiveDetector*  fStandardSD;  //standard sensitive detector
52     TG4StepManager*        fStepManager; //TG4StepManager
53 };
54
55 // inline methods
56
57 inline G4VSensitiveDetector* AliLegoSensitiveDetector::GetStandardSD() const
58 { return fStandardSD; }
59
60 #endif //ALI_LEGO_SENSITIVE_DETECTOR_H
61
62