]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/AliTRDdigitsManager.h
correct access to digits in SetBit()
[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 TFile;
16
17 class AliTRDsegmentArray;
18 class AliTRDdataArrayI;
19 class AliTRDdigit;
20
21 class AliTRDdigitsManager : public TObject {
22
23  public:
24
25   enum { kNDict = 3 };
26
27   AliTRDdigitsManager();
28   AliTRDdigitsManager(const AliTRDdigitsManager &m);
29   virtual ~AliTRDdigitsManager();
30   AliTRDdigitsManager &operator=(const AliTRDdigitsManager &m);
31
32   virtual void                Copy(TObject &m);
33   virtual Bool_t              MakeBranch(char *file=0);
34   virtual Bool_t              ReadDigits();
35   virtual Bool_t              WriteDigits();
36
37   virtual void                SetRaw();
38
39   virtual Bool_t              IsRaw() const                { return fIsRaw;         };
40   static  Int_t               NDict()                      { return fgkNDict;       }; 
41
42   virtual AliTRDsegmentArray *GetDigits() const            { return fDigits;        };
43   virtual AliTRDsegmentArray *GetDictionary(Int_t i) const { return fDictionary[i]; };
44
45           AliTRDdigit        *GetDigit(Int_t row, Int_t col, Int_t time, Int_t det) const;
46           Int_t               GetTrack(Int_t track, Int_t row, Int_t col
47                                      , Int_t time, Int_t det) const;
48
49           AliTRDdataArrayI   *GetDigits(Int_t det) const;
50           AliTRDdataArrayI   *GetDictionary(Int_t det, Int_t i) const;
51           Int_t               GetTrack(Int_t track, AliTRDdigit *Digit) const;
52
53  protected:
54
55   static const Int_t  fgkNDict;            //  Number of track dictionary arrays
56
57   AliTRDsegmentArray *fDigits;             //! Digits data Array
58   AliTRDsegmentArray *fDictionary[kNDict]; //! Track dictionary data array
59
60   Bool_t              fIsRaw;              //  Flag indicating raw digits
61
62   ClassDef(AliTRDdigitsManager,1)          //  Manages the TRD digits
63
64 };
65
66 #endif