cb9993e30b850e73498c804eebfcbeaf075bfb17
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalSingleChamberStatus.h
1 #ifndef AliTRDCalSingleChamberStatus_H
2 #define AliTRDCalSingleChamberStatus_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliTRDCalSingleChamberStatus.h,v */
7
8 //////////////////////////////////////////////////
9 //                                              //
10 //  TRD calibration base class containing status values for one ROC      //
11 //                                              //
12 //////////////////////////////////////////////////
13
14 #include <TObject.h>
15
16 //_____________________________________________________________________________
17 class AliTRDCalSingleChamberStatus : public TObject {
18
19  public:
20
21   AliTRDCalSingleChamberStatus();
22   AliTRDCalSingleChamberStatus(Int_t p, Int_t c, Int_t cols);
23   AliTRDCalSingleChamberStatus(const AliTRDCalSingleChamberStatus &c);
24   virtual           ~AliTRDCalSingleChamberStatus();
25   AliTRDCalSingleChamberStatus      &operator=(const AliTRDCalSingleChamberStatus &c);
26   virtual void       Copy(TObject &c) const;
27
28   Int_t    GetNrows() const                  { return fNrows; };
29   Int_t    GetNcols() const                  { return fNcols; };
30
31   Int_t        GetChannel(Int_t c, Int_t r) const    { return r+c*fNrows; };
32   Int_t        GetNchannels()       const       { return fNchannels;   };
33   Char_t       GetStatus(Int_t ich) const       { return fData[ich]; };
34   Char_t       GetStatus(Int_t col, Int_t row) const { return fData[GetChannel(col,row)]; };
35
36   void         SetStatus(Int_t ich, Char_t vd) { fData[ich] = vd;   };
37   void         SetStatus(Int_t col, Int_t row, Char_t vd)
38                                                 { fData[GetChannel(col,row)] = vd; };
39
40  protected:
41
42   Int_t     fPla;             //  Plane number
43   Int_t     fCha;             //  Chamber number
44
45   Int_t     fNrows;           //  Number of rows
46   Int_t     fNcols;           //  Number of columns
47
48   Int_t     fNchannels;             //  Number of channels
49   Char_t   *fData;                //[fNchannels] Data
50
51   ClassDef(AliTRDCalSingleChamberStatus,1)    //  TRD ROC calibration class
52
53 };
54
55 #endif