68124ad3a2cd6b2811e09bdc598834f0f50acd22
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalROC.h
1 #ifndef ALITRDCALROC_H
2 #define ALITRDCALROC_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id: AliTRDCalROC.h,v */
7
8 //////////////////////////////////////////////////
9 //                                              //
10 //  TRD calibration base class for one ROC      //
11 //                                              //
12 //////////////////////////////////////////////////
13
14 #include <TObject.h>
15
16 //_____________________________________________________________________________
17 class AliTRDCalROC : public TObject {
18
19  public:
20
21   AliTRDCalROC();
22   AliTRDCalROC(Int_t p, Int_t c);
23   AliTRDCalROC(const AliTRDCalROC &c);
24   virtual           ~AliTRDCalROC();
25   AliTRDCalROC      &operator=(const AliTRDCalROC &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)     { return r+c*fNrows; };
32   Int_t        GetNchannels()       const       { return fNchannels;   };
33
34   Float_t GetValue(Int_t ich) const       { return (Float_t) fData[ich] / 10000; };
35   Float_t GetValue(Int_t col, Int_t row)  { return GetValue(GetChannel(col,row)); };
36
37   void         SetValue(Int_t ich, Float_t value) { fData[ich] = (UShort_t) (value * 10000); };
38   void         SetValue(Int_t col, Int_t row, Float_t value) { SetValue(GetChannel(col,row), value); };
39
40   void Scale(Float_t value);
41
42  protected:
43
44   Int_t     fPla;             //  Plane number
45   Int_t     fCha;             //  Chamber number
46
47   Int_t     fNrows;           //  Number of rows
48   Int_t     fNcols;           //  Number of columns
49
50   Int_t     fNchannels;             //  Number of channels
51   UShort_t  *fData;                //[fNchannels] Data
52
53   ClassDef(AliTRDCalROC, 2)    //  TRD ROC calibration class
54
55 };
56
57 #endif