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 */
8 ///////////////////////////////////////////////////////////////////////////////
10 // TRD calibration class for the single pad status //
12 ///////////////////////////////////////////////////////////////////////////////
16 class AliTRDCalSingleChamberStatus;
20 class AliTRDCalPadStatus : public TNamed {
24 enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 };
25 enum { kMasked = 2, kPadBridgedLeft = 4, kPadBridgedRight = 8, kReadSecond = 16 , kNotConnected = 32};
28 AliTRDCalPadStatus(const Text_t* name, const Text_t* title);
29 AliTRDCalPadStatus(const AliTRDCalPadStatus &c);
30 virtual ~AliTRDCalPadStatus();
31 AliTRDCalPadStatus &operator=(const AliTRDCalPadStatus &c);
33 virtual void Copy(TObject &c) const;
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;
47 AliTRDCalSingleChamberStatus *GetCalROC(Int_t d) const { return fROC[d]; };
48 AliTRDCalSingleChamberStatus *GetCalROC(Int_t p, Int_t c, Int_t s) const;
52 TH2F *MakeHisto2DSmPl(Int_t sm, Int_t pl);
53 void PlotHistos2DSm(Int_t sm, const Char_t *name);
57 AliTRDCalSingleChamberStatus *fROC[kNdet]; // Array of ROC objects which contain the values per pad
59 ClassDef(AliTRDCalPadStatus,1) // TRD calibration class for the single pad status