1 #ifndef ALIITSUCALIBRATIONPIX_H
2 #define ALIITSUCALIBRATIONPIX_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 /* $Id: AliITSUCalibrationPix.h 53595 2011-12-14 16:13:16Z masera $ */
8 #include "AliITSCalibration.h"
11 ////////////////////////////////////////////////////
13 // ITS response class for pixels //
14 ////////////////////////////////////////////////////
16 class AliITSUCalibrationPix : public AliITSCalibration {
18 AliITSUCalibrationPix(); // default constructor
19 AliITSUCalibrationPix(Short_t nChips,Short_t nColPerChip,Short_t nRow); // default constructor
20 AliITSUCalibrationPix(const AliITSUCalibrationPix &src);
22 virtual ~AliITSUCalibrationPix() {;} // destructror
24 virtual void ClearBad();
26 virtual Int_t GetNrBad() const;
27 virtual Int_t GetNrBadInChip(Int_t chip) const;
28 virtual Int_t GetNrBadInColumn(Int_t col) const;
30 virtual Int_t GetBadColAt(Int_t index) const;
31 virtual Int_t GetBadRowAt(Int_t index) const;
32 virtual void GetBadPixel(Int_t index, Int_t &row, Int_t &col) const;
33 virtual void GetBadPixelSingle(Int_t i,UInt_t &row, UInt_t &col) const;
35 virtual Int_t GetNrBadSingle() const {return fNrBadSingle;}
36 virtual void SetNrBadSingle(Int_t nr) {fNrBadSingle=nr;} // used to be called SetNrBad, but misleading
37 virtual void SetBadList(TArrayS badlist) {fBadChannels=badlist;}
38 virtual void SetNrBad(Int_t /*nr*/); // Use SetNrBadSingle!!!
40 virtual Bool_t IsBad() const;
41 virtual Bool_t IsChipBad(Int_t chip) const;
42 virtual Bool_t IsColumnBad(Int_t col) const;
43 virtual Bool_t IsPixelBad(Int_t col, Int_t row) const;
45 virtual void SetChipBad(Int_t chip);
46 virtual void UnSetChipBad(Int_t chip);
47 Bool_t IsChipMarkedBad(Int_t c) const {return (fBadChips&(0x1<<c))!=0;}
49 virtual void AddBad(Int_t col, Int_t row);
51 virtual Int_t GetChipIndexFromCol(Int_t col) const;
52 // virtual Int_t GetChipFromChipIndex(Int_t index) const;
54 virtual void GiveCompressParam(Int_t *) const {NotImplemented("GiveCompressParam");}
55 virtual void SetDetParam(Double_t *) {NotImplemented("SetDetParam");}
56 virtual void GetDetParam(Double_t *) const {NotImplemented("GetDetParam");}
57 virtual void SetNDetParam(Int_t /*n*/) {NotImplemented("SetNDetParam");}
58 virtual Int_t NDetParam() const {NotImplemented("NDetParam"); return 0;}
59 virtual void SetSigmaSpread(Double_t, Double_t) {NotImplemented("SetSigmaSpread");}
60 virtual void SigmaSpread(Double_t & /* p1 */,Double_t & /* p2 */) const {NotImplemented("SigmaSpread");}
62 void SetColRowData(Short_t nchip, Short_t ncolperchip, Short_t nrow);
63 Int_t GetNCol() const {return fNCol;}
64 Int_t GetNRow() const {return fNRow;}
65 Int_t GetNColPerChip() const {return fNColPerChip;}
66 Int_t GetNChips() const {return fNChips;}
69 Short_t fNChips; // n of chips
70 Short_t fNColPerChip; // n of columns per chip
71 Short_t fNCol; // number of columns
72 Short_t fNRow; // number of rows
73 Int_t fNrBadSingle; // Nr of SINGLE bad pixels
74 UInt_t fBadChips; // bit pattern of completely dead chips?
75 TArrayS fBadChannels; // Array with bad channels info (col0,row0,col1...rowN) N = fNrBadSingle
77 AliITSUCalibrationPix& operator=(const AliITSUCalibrationPix& source);
79 ClassDef(AliITSUCalibrationPix,1) // pixels response