]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDdigitsManager.h
Merge with TRD-develop
[u/mrichter/AliRoot.git] / TRD / AliTRDdigitsManager.h
1 #ifndef ALITRDDIGITSMANAGER_H
2 #define ALITRDDIGITSMANAGER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliTRDdigitsManager.h,v */
8
9 /////////////////////////////////////////////////////////////
10 //  Manages the TRD digits                                 //
11 /////////////////////////////////////////////////////////////
12
13 #include <TObject.h>
14
15 class AliTRDsegmentArray;
16 class AliTRDdataArrayI;
17 class AliTRDdigit;
18
19 class AliTRDdigitsManager : public TObject {
20
21  public:
22
23   AliTRDdigitsManager();
24   AliTRDdigitsManager(const AliTRDdigitsManager &m);
25   virtual ~AliTRDdigitsManager();
26   AliTRDdigitsManager &operator=(const AliTRDdigitsManager &m);
27
28   virtual void                Copy(TObject &m);
29   virtual Bool_t              MakeBranch();
30   virtual Bool_t              ReadDigits();
31   virtual Bool_t              WriteDigits();
32
33   virtual void                SetRaw();
34
35   virtual Bool_t              IsRaw() const                { return fIsRaw;         };
36   static  Int_t               NDict()                      { return fgkNDict;       }; 
37
38   virtual AliTRDsegmentArray *GetDigits() const            { return fDigits;        };
39   virtual AliTRDsegmentArray *GetDictionary(Int_t i) const { return fDictionary[i]; };
40
41           AliTRDdigit        *GetDigit(Int_t row, Int_t col, Int_t time, Int_t det) const;
42           Int_t               GetTrack(Int_t track, Int_t row, Int_t col
43                                      , Int_t time, Int_t det) const;
44
45           AliTRDdataArrayI   *GetDigits(Int_t det) const;
46           AliTRDdataArrayI   *GetDictionary(Int_t det, Int_t i) const;
47           Int_t               GetTrack(Int_t track, AliTRDdigit *Digit) const;
48
49  protected:
50
51   enum { kNDict = 3 };
52   static const Int_t  fgkNDict;            //  Number of track dictionary arrays
53
54   AliTRDsegmentArray *fDigits;             //! Digits data Array
55   AliTRDsegmentArray *fDictionary[kNDict]; //! Track dictionary data array
56
57   Bool_t              fIsRaw;              //  Flag indicating raw digits
58
59   ClassDef(AliTRDdigitsManager,1)          //  Manages the TRD digits
60
61 };
62
63 #endif