First round of effc++ changes
[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
27   virtual void    Copy(TObject &c) const;
28
29           Int_t   GetNrows() const                      { return fNrows; };
30           Int_t   GetNcols() const                      { return fNcols; };
31
32           Int_t   GetChannel(Int_t c, Int_t r) const    { return r+c*fNrows;                 };
33           Int_t   GetNchannels() const                  { return fNchannels;                 };
34           Char_t  GetStatus(Int_t ich) const            { return fData[ich];                 };
35           Char_t  GetStatus(Int_t col, Int_t row) const { return fData[GetChannel(col,row)]; };
36
37           void    SetStatus(Int_t ich, Char_t vd)       { fData[ich] = vd;                   };
38           void    SetStatus(Int_t col, Int_t row, Char_t vd)
39                                                         { fData[GetChannel(col,row)] = vd;   };
40
41  protected:
42
43           Int_t   fPla;                    //  Plane number
44           Int_t   fCha;                    //  Chamber number
45
46           Int_t   fNrows;                  //  Number of rows
47           Int_t   fNcols;                  //  Number of columns
48
49           Int_t   fNchannels;              //  Number of channels
50           Char_t *fData;                   //[fNchannels] Data
51
52   ClassDef(AliTRDCalSingleChamberStatus,1) //  TRD ROC calibration class
53
54 };
55
56 #endif