1 #ifndef ALITRDCALMCMSTATUS_H
2 #define ALITRDCALMCMSTATUS_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 MCM status //
12 ///////////////////////////////////////////////////////////////////////////////
15 #include "AliTRDgeometry.h"
16 #include "AliTRDCalSingleChamberStatus.h"
18 class AliTRDCalMCMStatus : public TNamed {
22 enum { kNplan = 6, kNcham = 5, kNsect = 18, kNdet = 540 };
23 enum { kMasked = 2, kMCMTemperatureBit1 = 4, kMBMTemperatureBit2 = 8 };
26 AliTRDCalMCMStatus(const Text_t* name, const Text_t* title);
27 AliTRDCalMCMStatus(const AliTRDCalMCMStatus &c);
28 virtual ~AliTRDCalMCMStatus();
29 AliTRDCalMCMStatus &operator=(const AliTRDCalMCMStatus &c);
31 virtual void Copy(TObject &c) const;
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 GetCalROC(AliTRDgeometry::GetDetector(p,c,s)); };
37 Bool_t IsMasked(Int_t d, Int_t col, Int_t row) const { return CheckStatus(d, col, row, kMasked); };
38 inline Bool_t CheckStatus(Int_t d, Int_t col, Int_t row, Int_t bitMask) const;
42 AliTRDCalSingleChamberStatus *fROC[kNdet]; // Array of ROC objects which contain the values per pad
44 ClassDef(AliTRDCalMCMStatus,1) // TRD calibration class for MCM status
48 Bool_t AliTRDCalMCMStatus::CheckStatus(Int_t d, Int_t col, Int_t row, Int_t bitMask) const
50 AliTRDCalSingleChamberStatus* roc = GetCalROC(d);
54 return (roc->GetStatus(col, row) & bitMask) ? kTRUE : kFALSE;