From 1bdd39a127e50596e3943aeb5baf9c2bf9bffbf0 Mon Sep 17 00:00:00 2001 From: masera Date: Thu, 13 Mar 2008 12:51:51 +0000 Subject: [PATCH] new methods concerning bad chips treatment (G. Bruno) --- ITS/AliITSCalibrationSPD.cxx | 20 ++++++++++++++++++++ ITS/AliITSCalibrationSPD.h | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/ITS/AliITSCalibrationSPD.cxx b/ITS/AliITSCalibrationSPD.cxx index 9d4d869c004..fcfe7b3bf8d 100644 --- a/ITS/AliITSCalibrationSPD.cxx +++ b/ITS/AliITSCalibrationSPD.cxx @@ -95,3 +95,23 @@ Bool_t AliITSCalibrationSPD::IsPixelBad(Int_t col, Int_t row) const { } return false; } +//___________________________________________________________________________ +Int_t AliITSCalibrationSPD::GetNrBadInColumn(Int_t col) const { + // + // Count n. of bad in a given column: col. range [0,159] + // + if(col<0 || col>159) {AliWarning("GetNrBadInColumn: wrong column number"); return -1;} + Int_t bad=0; + for (UInt_t i=0; i4) {AliWarning("GetNrBadInChip: wrong chip number"); return -1;} + Int_t bad=0; + for (Int_t col=32*chip; col<32*(chip+1); col++) bad+=GetNrBadInColumn(col); + return bad; +} diff --git a/ITS/AliITSCalibrationSPD.h b/ITS/AliITSCalibrationSPD.h index 6200dd28234..03e0fa4506d 100644 --- a/ITS/AliITSCalibrationSPD.h +++ b/ITS/AliITSCalibrationSPD.h @@ -74,6 +74,8 @@ class AliITSCalibrationSPD : public AliITSCalibration { void AddBad(UInt_t col, UInt_t row); Int_t GetNrBad() const {return fNrBad;} + Int_t GetNrBadInChip(Int_t chip) const ; + Int_t GetNrBadInColumn(Int_t col) const ; Int_t GetBadColAt(UInt_t index); //returns -1 if out of bounds Int_t GetBadRowAt(UInt_t index); //returns -1 if out of bounds void ClearBad() {fBadChannels.Reset(); fNrBad=0;} @@ -82,6 +84,8 @@ class AliITSCalibrationSPD : public AliITSCalibration { void SetBadList(TArrayI badlist) {fBadChannels=badlist;} void SetNrBad(UInt_t nr) {fNrBad=nr;} virtual Bool_t IsBad() const {return (GetNrBad()==256*160);}; + virtual Bool_t IsChipBad(Int_t chip) const {return (GetNrBadInChip(chip)==256*32);}; + Bool_t IsColumnBad(Int_t col) const {return (GetNrBadInColumn(col)==256);}; protected: // static const Double_t fgkDiffCoeffDefault; //default for fDiffCoeff -- 2.39.3