3170692562c2b38854cfedec9df75b9e42e3d710
[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 #include "AliTRDsegmentArray.h"
16 #include "AliTRDdataArrayI.h"
17 #include "AliTRDdigit.h"
18
19 const Int_t  kNDict = 3;
20
21 class AliTRDdigitsManager : public TObject {
22
23  public:
24
25   AliTRDdigitsManager();
26   AliTRDdigitsManager(const AliTRDdigitsManager &m);
27   virtual ~AliTRDdigitsManager();
28   AliTRDdigitsManager &operator=(const AliTRDdigitsManager &m);
29
30   virtual void                Copy(TObject &m);
31   virtual Bool_t              MakeBranch();
32   virtual Bool_t              ReadDigits();
33   virtual Bool_t              WriteDigits();
34
35   virtual void                SetRaw();
36
37   virtual Bool_t              IsRaw()                { return fIsRaw;         };
38   virtual AliTRDsegmentArray *GetDigits()            { return fDigits;        };
39   virtual AliTRDsegmentArray *GetDictionary(Int_t i) { return fDictionary[i]; };
40
41           AliTRDdigit        *GetDigit(Int_t row, Int_t col, Int_t time, Int_t det);
42           Int_t               GetTrack(Int_t track, Int_t row, Int_t col, Int_t time, Int_t det);
43
44   inline  AliTRDdataArrayI   *GetDigits(Int_t det);
45   inline  AliTRDdataArrayI   *GetDictionary(Int_t det, Int_t i);
46   inline  Int_t               GetTrack(Int_t track, AliTRDdigit *Digit);
47
48  protected:
49
50   AliTRDsegmentArray *fDigits;             //! Digits data Array
51   AliTRDsegmentArray *fDictionary[kNDict]; //! Track dictionary data array
52
53   Bool_t              fIsRaw;              //  Flag indicating raw digits
54
55   ClassDef(AliTRDdigitsManager,1)          //  Manages the TRD digits
56
57 };
58
59 #endif