4 // Special sensitive detector class for lego run.
5 // It implements G4VSensitiveDetector::ProcessHits()
6 // with AliLego:: StepManager().
8 #ifndef ALI_LEGO_SENSITIVE_DETECTOR_H
9 #define ALI_LEGO_SENSITIVE_DETECTOR_H
11 #include "TG4VSensitiveDetector.h"
18 class G4HCofThisEvent;
21 class AliLegoSensitiveDetector : public TG4VSensitiveDetector
24 AliLegoSensitiveDetector(G4String name, AliLego* lego,
25 G4VSensitiveDetector* standardSD);
26 AliLegoSensitiveDetector(const AliLegoSensitiveDetector& right);
28 // AliLegoSensitiveDetector();
29 virtual ~AliLegoSensitiveDetector();
32 AliLegoSensitiveDetector& operator=(const AliLegoSensitiveDetector& right);
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();
43 G4VSensitiveDetector* GetStandardSD() const;
46 AliLegoSensitiveDetector();
50 AliLego* fLego; //lego from AliRoot
51 G4VSensitiveDetector* fStandardSD; //standard sensitive detector
52 TG4StepManager* fStepManager; //TG4StepManager
57 inline G4VSensitiveDetector* AliLegoSensitiveDetector::GetStandardSD() const
58 { return fStandardSD; }
60 #endif //ALI_LEGO_SENSITIVE_DETECTOR_H