]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliDetector.h
Mainly coding conventions + some small bug fixes
[u/mrichter/AliRoot.git] / STEER / AliDetector.h
1 #ifndef ALIDETECTOR_H
2 #define ALIDETECTOR_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include <AliModule.h>
9 #include <AliHit.h>
10
11 class AliDetector : public AliModule {
12
13 public:
14
15   // Creators - distructors
16   AliDetector(const char* name, const char *title);
17   AliDetector();
18   AliDetector(const AliDetector &det) {det.Copy(*this);}
19   virtual ~AliDetector();
20
21   // Inline functions
22           void  Copy(AliDetector &det) const;
23   virtual int   GetNdigits() {return fNdigits;}
24   virtual int   GetNhits()   {return fNhits;}
25   TClonesArray *Digits() {return fDigits;}
26   TClonesArray *Hits()   {return fHits;}
27   TObjArray    *Points() {return fPoints;}
28   Int_t         GetIshunt() {return fIshunt;}
29   void          SetIshunt(Int_t ishunt) {fIshunt=ishunt;}
30   AliDetector &operator=(const AliDetector &det) 
31   {det.Copy(*this); return (*this);}
32   
33   // Other methods
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() {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;}  
49  
50   // Data members
51 protected:      
52   
53   Float_t       fTimeGate;    //Time gate in seconds
54
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)
62
63   ClassDef(AliDetector,1)  //Base class for ALICE detectors
64 };
65 #endif