Merge branch 'master' into TPCdev
[u/mrichter/AliRoot.git] / ITS / AliITSOnlineCalibrationSPD.h
1 #ifndef ALIITSONLINECALIBRATIONSPD_H
2 #define ALIITSONLINECALIBRATIONSPD_H
3
4 ///////////////////////////////////////////////////////////////////////
5 // Author: Henrik Tydesjo                                            //
6 // This class is used as a container to keep the dead,noisy,active   //
7 // pixels online. Each object corresponds to one DDL (eq).           //
8 // Note: This class should not be used directly.                     //
9 // Use it via AliITSOnlineCalibrationSPDhandler instead.             //
10 ///////////////////////////////////////////////////////////////////////
11
12 /* $Id$  */
13
14 #include <TObject.h>
15 #include <TArrayI.h>
16
17 class AliITSOnlineCalibrationSPD : public TObject {
18
19  public:
20     AliITSOnlineCalibrationSPD();
21     virtual ~AliITSOnlineCalibrationSPD() {}
22
23     void   SetEqNr(UInt_t eq) {fEqNr=eq;}
24     UInt_t GetEqNr() const {return fEqNr;}
25     void   SetBadList(TArrayI badlist) {fBadChannels=badlist;}
26     void   SetNrBad(UInt_t nr) {fNrBad=nr;}
27
28     UInt_t GetNrBad() const {return fNrBad;}
29     Int_t  GetKeyAt(UInt_t index) const; //returns -1 if out of bounds
30
31     void   ClearBad() {fBadChannels.Reset(); fNrBad=0;}
32
33     void   ActivateALL();
34     void   ActivateEq(Bool_t setval = kTRUE);
35     void   ActivateHS(UInt_t hs, Bool_t setval = kTRUE);
36     void   ActivateChip(UInt_t hs, UInt_t chip, Bool_t setval = kTRUE);
37
38     Bool_t IsActiveEq() const;
39     Bool_t IsActiveHS(UInt_t hs) const;
40     Bool_t IsActiveChip(UInt_t hs, UInt_t chip) const;
41
42     void   UnSetDeadALL();
43     void   SetDeadEq(Bool_t setval = kTRUE);
44     void   SetDeadHS(UInt_t hs, Bool_t setval = kTRUE);
45     void   SetDeadChip(UInt_t hs, UInt_t chip, Bool_t setval = kTRUE);
46     
47     Bool_t IsDeadEq() const;
48     Bool_t IsDeadHS(UInt_t hs) const;
49     Bool_t IsDeadChip(UInt_t hs, UInt_t chip) const;
50
51  private:
52     UInt_t   fEqNr;                // eq nr
53     UInt_t   fNrBad;               // nr of bad (single) pixels
54     TArrayI  fBadChannels;         // array of keys for the bad (single) pixels
55     Bool_t   fActiveEq;            // active bit for each equipment
56     Bool_t   fActiveHS[6];         // active bit for each half-stave
57     Bool_t   fActiveChip[60];      // active bit for each chip
58     Bool_t   fDeadEq;              // dead bit for each equipment
59     Bool_t   fDeadHS[6];           // dead bit for each half-stave
60     Bool_t   fDeadChip[60];        // dead bit for each chip
61
62     ClassDef(AliITSOnlineCalibrationSPD,3)
63 };
64
65 #endif