New Cluster finding macro. Used by new AliITStest.C macro.
[u/mrichter/AliRoot.git] / AliGeant4 / AliLegoSensitiveDetector.h
CommitLineData
676fb573 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
15class AliLego;
16class TG4StepManager;
17
18class G4HCofThisEvent;
19class G4Step;
20
21class 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
57inline G4VSensitiveDetector* AliLegoSensitiveDetector::GetStandardSD() const
58{ return fStandardSD; }
59
60#endif //ALI_LEGO_SENSITIVE_DETECTOR_H
61
62