]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSCalibrationSPD.h
bugfix: external interface was calling AliHLTComponent::Init twice since r27483
[u/mrichter/AliRoot.git] / ITS / AliITSCalibrationSPD.h
index 6200dd28234479c172b8bdf3d3a1be24ba716d4f..b3de146bc7778f81981a8eab0ae8f9df0274f4cf 100644 (file)
@@ -3,10 +3,10 @@
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
-
+/* $Id$ */
 #include "TRandom.h"
 #include "AliITSCalibration.h"
-#include "TArrayI.h"
+#include "TArrayS.h"
 #include "AliITSresponseSPD.h"
 
 
@@ -67,21 +67,24 @@ class AliITSCalibrationSPD :  public AliITSCalibration {
 
     virtual void GetCouplingOption(char *opt) const {((AliITSresponseSPD*)fResponse)->CouplingOption(opt);}
     virtual void SetCouplingOption(const char* opt) {((AliITSresponseSPD*)fResponse)->SetCouplingOption(opt);}
-    virtual void SetParamOptions(const char* a,const char* b) {((AliITSresponseSPD*)fResponse)->SetParamOptions(a,b);}
-    virtual void GetParamOptions(char *a,char* b) const {((AliITSresponseSPD*)fResponse)->ParamOptions(a,b);}
     virtual void SetSigmaDiffusionAsymmetry(Double_t ecc) {((AliITSresponseSPD*)fResponse)->SetSigmaDiffusionAsymmetry(ecc);}
     virtual void GetSigmaDiffusionAsymmetry(Double_t &ecc) const {((AliITSresponseSPD*)fResponse)->GetSigmaDiffusionAsymmetry(ecc);}
     
     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;}
     Bool_t IsPixelBad(Int_t col, Int_t row) const ;
+    void GetBadPixel(Int_t i, Int_t &row, Int_t &col) const;
 
-    void   SetBadList(TArrayI badlist) {fBadChannels=badlist;}
+    void   SetBadList(TArrayS 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
@@ -98,9 +101,9 @@ class AliITSCalibrationSPD :  public AliITSCalibration {
     Double_t fCouplRow;        // Coupling parameter along the rows
     Double_t fBiasVoltage;     // Bias Voltage for the SPD (used to compute DistanceOverVoltage)
     UInt_t   fNrBad;           // Nr of bad pixels
-    TArrayI  fBadChannels;     // Array with bad channels info (col0,row0,col1...rowN) N = fNrBad
+    TArrayS  fBadChannels;     // Array with bad channels info (col0,row0,col1...rowN) N = fNrBad
 
-    ClassDef(AliITSCalibrationSPD,5) // SPD response
+    ClassDef(AliITSCalibrationSPD,6) // SPD response
 };
 
 #endif