Update of calibration classes by Jan Fiete
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalPad.h
1 #ifndef ALITRDCALPAD_H
2 #define ALITRDCALPAD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///////////////////////////////////////////////////////////////////////////////
9 //                                                                           //
10 //  TRD calibration class for parameters which are saved per pad                 //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "TNamed.h"
15
16 class AliTRDCalROC;
17 class AliTRDCalDet;
18
19 class AliTRDCalPad : public TNamed {
20
21  public:
22  
23   enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 };
24
25   AliTRDCalPad();
26   AliTRDCalPad(const Text_t* name, const Text_t* title);
27   AliTRDCalPad(const AliTRDCalPad &c);   
28   virtual ~AliTRDCalPad();
29   AliTRDCalPad &operator=(const AliTRDCalPad &c);
30
31   virtual void     Copy(TObject &c) const;
32
33   static inline Int_t               GetDet(Int_t p, Int_t c, Int_t s) { return p+c*kNplan+s*kNplan*kNcham; };
34
35   AliTRDCalROC *GetCalROC(Int_t d) const { return fROC[d]; };
36   AliTRDCalROC *GetCalROC(Int_t p, Int_t c, Int_t s) const
37                                                { return fROC[GetDet(p,c,s)]; };
38   
39   void ScaleROCs(AliTRDCalDet* values);
40
41  protected:
42
43   AliTRDCalROC *fROC[kNdet];                    //  Array of ROC objects which contain the values per pad
44
45   ClassDef(AliTRDCalPad,1)                      //  TRD calibration class for parameters which are saved per pad
46
47 };
48
49 #endif