1 #ifndef ALITRDDIGITSMANAGER_H
2 #define ALITRDDIGITSMANAGER_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 /* $Id: AliTRDdigitsManager.h,v */
9 /////////////////////////////////////////////////////////////
10 // Manages the TRD digits //
11 /////////////////////////////////////////////////////////////
17 class AliTRDsegmentArray;
18 class AliTRDdataArrayI;
21 class AliTRDdigitsManager : public TObject {
27 AliTRDdigitsManager();
28 AliTRDdigitsManager(const AliTRDdigitsManager &m);
29 virtual ~AliTRDdigitsManager();
30 AliTRDdigitsManager &operator=(const AliTRDdigitsManager &m);
32 virtual void Copy(TObject &m);
33 virtual Bool_t MakeBranch(char *file=0);
34 virtual Bool_t ReadDigits();
35 virtual Bool_t WriteDigits();
37 virtual void SetRaw();
39 virtual Bool_t IsRaw() const { return fIsRaw; };
40 static Int_t NDict() { return fgkNDict; };
42 virtual AliTRDsegmentArray *GetDigits() const { return fDigits; };
43 virtual AliTRDsegmentArray *GetDictionary(Int_t i) const { return fDictionary[i]; };
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;
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;
55 static const Int_t fgkNDict; // Number of track dictionary arrays
57 AliTRDsegmentArray *fDigits; //! Digits data Array
58 AliTRDsegmentArray *fDictionary[kNDict]; //! Track dictionary data array
60 Bool_t fIsRaw; // Flag indicating raw digits
62 ClassDef(AliTRDdigitsManager,1) // Manages the TRD digits