3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
11 class AliDetector : public AliModule {
15 // Creators - distructors
16 AliDetector(const char* name, const char *title);
18 AliDetector(const AliDetector &det) {det.Copy(*this);}
19 virtual ~AliDetector();
22 void Copy(AliDetector &det) const;
23 virtual int GetNdigits() const {return fNdigits;}
24 virtual int GetNhits() const {return fNhits;}
25 TClonesArray *Digits() const {return fDigits;}
26 TClonesArray *Hits() const {return fHits;}
27 TObjArray *Points() const {return fPoints;}
28 Int_t GetIshunt() const {return fIshunt;}
29 void SetIshunt(Int_t ishunt) {fIshunt=ishunt;}
30 AliDetector &operator=(const AliDetector &det)
31 {det.Copy(*this); return (*this);}
34 virtual void Browse(TBrowser *b);
35 virtual void FinishRun();
36 virtual void LoadPoints(Int_t track);
37 virtual void MakeBranch(Option_t *opt=" ");
38 virtual void ResetDigits();
39 virtual void ResetHits();
40 virtual void ResetPoints();
41 virtual void SetTreeAddress();
42 virtual void SetTimeGate(Float_t gate) {fTimeGate=gate;}
43 virtual Float_t GetTimeGate() const {return fTimeGate;}
44 virtual void StepManager() {}
45 virtual void DrawModule() {}
46 virtual AliHit* FirstHit(Int_t track);
47 virtual AliHit* NextHit();
48 virtual void SetBufferSize(Int_t bufsize=8000) {fBufferSize = bufsize;}
53 Float_t fTimeGate; //Time gate in seconds
55 Int_t fIshunt; //1 if the hit is attached to the primary
56 Int_t fNhits; //Number of hits
57 Int_t fNdigits; //Number of digits
58 Int_t fBufferSize; //buffer size for Tree detector branches
59 TClonesArray *fHits; //List of hits for one track only
60 TClonesArray *fDigits; //List of digits for this detector
61 TObjArray *fPoints; //Array of points for each track (all tracks in memory)
63 ClassDef(AliDetector,1) //Base class for ALICE detectors