]>
Commit | Line | Data |
---|---|---|
7754cd1f | 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 MCM status // | |
11 | // // | |
12 | /////////////////////////////////////////////////////////////////////////////// | |
13 | ||
14 | #include "TNamed.h" | |
15 | #include "AliTRDgeometry.h" | |
16 | #include "AliTRDCalSingleChamberStatus.h" | |
17 | ||
18 | class AliTRDCalPadStatus : public TNamed { | |
19 | ||
20 | public: | |
21 | ||
22 | enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 }; | |
23 | enum { kMasked = 2, kPadBridgedLeft = 4, kPadBridgedRight = 8 }; | |
24 | ||
25 | AliTRDCalPadStatus(); | |
26 | AliTRDCalPadStatus(const Text_t* name, const Text_t* title); | |
27 | AliTRDCalPadStatus(const AliTRDCalPadStatus &c); | |
28 | virtual ~AliTRDCalPadStatus(); | |
29 | AliTRDCalPadStatus &operator=(const AliTRDCalPadStatus &c); | |
30 | ||
31 | virtual void Copy(TObject &c) const; | |
32 | ||
33 | AliTRDCalSingleChamberStatus *GetCalROC(Int_t d) const { return fROC[d]; }; | |
34 | AliTRDCalSingleChamberStatus *GetCalROC(Int_t p, Int_t c, Int_t s) const | |
35 | { return fROC[AliTRDgeometry::GetDetector(p,c,s)]; }; | |
36 | ||
37 | Bool_t IsMasked(Int_t d, Int_t col, Int_t row) const { return CheckStatus(d, col, row, kMasked); }; | |
38 | Bool_t IsBridgedLeft(Int_t d, Int_t col, Int_t row) const { return CheckStatus(d, col, row, kPadBridgedLeft); }; | |
39 | Bool_t IsBridgedRight(Int_t d, Int_t col, Int_t row) const { return CheckStatus(d, col, row, kPadBridgedRight); }; | |
40 | inline Bool_t CheckStatus(Int_t d, Int_t col, Int_t row, Int_t bitMask) const; | |
41 | ||
42 | protected: | |
43 | ||
44 | AliTRDCalSingleChamberStatus *fROC[kNdet]; // Array of ROC objects which contain the values per pad | |
45 | ||
46 | ClassDef(AliTRDCalPadStatus,1) // TRD calibration class for MCM status | |
47 | ||
48 | }; | |
49 | ||
50 | Bool_t AliTRDCalPadStatus::CheckStatus(Int_t d, Int_t col, Int_t row, Int_t bitMask) const | |
51 | { | |
52 | AliTRDCalSingleChamberStatus* roc = GetCalROC(d); | |
53 | if (!roc) | |
54 | return kFALSE; | |
55 | ||
56 | return (roc->GetStatus(col, row) & bitMask) ? kTRUE : kFALSE; | |
57 | } | |
58 | ||
59 | #endif |