Line data Source code
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 748800 : { return CheckStatus(d, col, row, kMasked); };
37 : Bool_t IsBridgedLeft(Int_t d, Int_t col, Int_t row) const
38 0 : { return CheckStatus(d, col, row, kPadBridgedLeft); };
39 : Bool_t IsBridgedRight(Int_t d, Int_t col, Int_t row) const
40 0 : { return CheckStatus(d, col, row, kPadBridgedRight); };
41 : Bool_t IsReadSecond(Int_t d, Int_t col, Int_t row) const
42 0 : { return CheckStatus(d, col, row, kReadSecond); };
43 : Bool_t IsNotConnected(Int_t d, Int_t col, Int_t row) const
44 748800 : { 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 1498352 : 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 72 : ClassDef(AliTRDCalPadStatus,1) // TRD calibration class for the single pad status
60 :
61 : };
62 :
63 : #endif
|