1 #ifndef ALIITSCHANNELSTATUS_H
2 #define ALIITSCHANNELSTATUS_H
3 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 /////////////////////////////////////////////////////////////////////
10 // Class for bad channel treatment in the tracker //
11 // Stores 1 status bit for each SPD pixel and SDD anode: //
13 // 1 = good channel //
14 // Dead and noisy channels are read from AliITSCalibration objects //
15 // Origin: F.Prino, Torino, prino@to.infn.it //
17 /////////////////////////////////////////////////////////////////////
21 #include "AliCDBManager.h"
23 class AliITSChannelStatus : public TObject {
26 AliITSChannelStatus();
27 AliITSChannelStatus(AliCDBManager *cdb);
28 AliITSChannelStatus(const AliITSChannelStatus& cstatus);
29 AliITSChannelStatus& operator=(const AliITSChannelStatus& cstatus);
30 virtual ~AliITSChannelStatus();
32 void SetChannelStatus(Bool_t cstatus, Int_t imod, Int_t iz, Int_t ix=0);
34 Bool_t GetChannelStatus(Int_t imod, Int_t iz, Int_t ix=0) const;
35 Int_t GetNSPDChannels()const {return fSPDChannelStatus->GetNbits();}
36 Int_t GetNSDDChannels()const {return fSDDChannelStatus->GetNbits();}
40 void InitFromOCDB(TObjArray* deadArrSPD, TObjArray* noisArrSPD, TObjArray* calArrSDD);
41 Bool_t CheckBounds(Int_t imod, Int_t iz, Int_t ix=0) const;
42 enum {kSPDModules=240};
43 enum {kSPDNpzPerModule=160};
44 enum {kSPDNpxPerModule=256};
45 enum {kSDDModules=260};
46 enum {kSDDAnodesPerModule=512};
48 TBits *fSPDChannelStatus; // bit map with status of SPD channels
49 TBits *fSDDChannelStatus; // bit map with status of SDD channels
51 ClassDef(AliITSChannelStatus,1);