]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TRD/Cal/AliTRDCalPadStatus.h
Add online gain tables (Annika)
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDCalPadStatus.h
1 #ifndef ALITRDCALPADSTATUS_H
2 #define ALITRDCALPADSTATUS_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 the single pad status                          //
11 //                                                                           //
12 ///////////////////////////////////////////////////////////////////////////////
13
14 #include "TNamed.h"
15
16 class AliTRDCalSingleChamberStatus;
17 class TH1F;
18 class TH2F;
19
20 class AliTRDCalPadStatus : public TNamed {
21
22  public:
23  
24   enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 };
25   enum { kMasked = 2, kPadBridgedLeft = 4, kPadBridgedRight = 8, kReadSecond = 16 , kNotConnected = 32};
26
27   AliTRDCalPadStatus();
28   AliTRDCalPadStatus(const Text_t* name, const Text_t* title);
29   AliTRDCalPadStatus(const AliTRDCalPadStatus &c);   
30   virtual            ~AliTRDCalPadStatus();
31   AliTRDCalPadStatus &operator=(const AliTRDCalPadStatus &c);
32
33   virtual void        Copy(TObject &c) const;
34
35           Bool_t      IsMasked(Int_t d, Int_t col, Int_t row) const 
36                                                { return CheckStatus(d, col, row, kMasked);          };
37           Bool_t      IsBridgedLeft(Int_t d, Int_t col, Int_t row) const 
38                                                { return CheckStatus(d, col, row, kPadBridgedLeft);  };
39           Bool_t      IsBridgedRight(Int_t d, Int_t col, Int_t row) const 
40                                                { return CheckStatus(d, col, row, kPadBridgedRight); };
41           Bool_t      IsReadSecond(Int_t d, Int_t col, Int_t row) const 
42                                                { return CheckStatus(d, col, row, kReadSecond); };
43           Bool_t      IsNotConnected(Int_t d, Int_t col, Int_t row) const
44                                                { return CheckStatus(d, col, row, kNotConnected); };
45           Bool_t      CheckStatus(Int_t d, Int_t col, Int_t row, Int_t bitMask) const;
46
47   AliTRDCalSingleChamberStatus *GetCalROC(Int_t d) const { return fROC[d]; };
48   AliTRDCalSingleChamberStatus *GetCalROC(Int_t p, Int_t c, Int_t s) const;
49
50   // Plot functions
51   TH1F    *MakeHisto1D();
52   TH2F    *MakeHisto2DSmPl(Int_t sm, Int_t pl);
53   void     PlotHistos2DSm(Int_t sm, const Char_t *name);
54
55  protected:
56
57   AliTRDCalSingleChamberStatus *fROC[kNdet];          //  Array of ROC objects which contain the values per pad
58
59   ClassDef(AliTRDCalPadStatus,1)                      //  TRD calibration class for the single pad status
60
61 };
62           
63 #endif