// Get Threshold and noise + threshold fluctuations parameter values
virtual void Thresholds(Double_t &thresh, Double_t &sigma) const
{thresh=fThresh; sigma=fSigma;}
+ // Set Bias Voltage parameter
+ virtual void SetBiasVoltage(Double_t bias=18.182) {fBiasVoltage=bias;}
+ Double_t GetBiasVoltage() const {return fBiasVoltage;}
//Returns just baseline value
Double_t GetBaseline() const {return fBaseline;}
// Set noise and baseline in one (abstract method of AliITSCalibration)
// Applies a random noise and addes the baseline
Double_t ApplyBaselineAndNoise() const {return fBaseline+
fNoise*gRandom->Gaus();}
+ // Set coupling parameters
+ virtual void SetCouplingParam(Double_t col, Double_t row)
+ {fCouplCol = col; fCouplRow = row;}
+ // Get coupling parameters
+ virtual void GetCouplingParam(Double_t &col, Double_t &row) const
+ {col = fCouplCol; row = fCouplRow;}
- //Declaration of member functions peculiar to this class
- // Sets the fraction of Dead SPD Pixels
- void SetFractionDead(Double_t d=0.01){ fDeadPixels = d;}
- // Retruns the fraction of Dead SPD Pixels
- Double_t GetFractionDead() const {return fDeadPixels;}
- // Returns a logical if a pixels is dead or not
- Bool_t IsPixelDead(Int_t mod,Int_t ix,Int_t iz) const ;
virtual void GiveCompressParam(Int_t *) const
{NotImplemented("GiveCompressParam");}
{NotImplemented("SetSigmaSpread");}
virtual void SigmaSpread(Double_t & /* p1 */,Double_t & /* p2 */) const
{NotImplemented("SigmaSpread");}
-
- void SetNBadChannels(Int_t n) {fBadChannels.Set(n);}
- void AddBadChannel(Int_t bad,Int_t i) {fBadChannels.AddAt(bad,i);}
- TArrayI GetBadChannels() const {return fBadChannels;}
- virtual void SetCouplingParam(Double_t col, Double_t row) {((AliITSresponseSPD*)fResponse)->SetCouplingParam(col,row);}
- virtual void GetCouplingParam(Double_t &col, Double_t &row) const {((AliITSresponseSPD*)fResponse)->GetCouplingParam(col, row);}
+
+ 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 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 SetBadList(TArrayI badlist) {fBadChannels=badlist;}
+ void SetNrBad(UInt_t nr) {fNrBad=nr;}
+ Bool_t IsBad() const {return (GetNrBad()==256*160);};
protected:
// static const Double_t fgkDiffCoeffDefault; //default for fDiffCoeff
static const Double_t fgkThreshDefault; //default for fThresh
static const Double_t fgkSigmaDefault; //default for fSigma
+ static const Double_t fgkCouplColDefault; //default for fCouplCol
+ static const Double_t fgkCouplRowDefault; //default for fCouplRow
+ static const Double_t fgkBiasVoltageDefault; //default for fBiasVoltage
Double_t fBaseline; // Base-line value
Double_t fNoise; // Gaussian noise scale
Double_t fThresh; // Threshold value
Double_t fSigma; // Noise + threshold fluctuations value
- Double_t fDeadPixels; // the fraction of dead pixels
- TArrayI fBadChannels; // Array with bad channels info (N, row0,col0,row1,col1...rowN,colN)
+ Double_t fCouplCol; // Coupling parameter along the cols
+ 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
- ClassDef(AliITSCalibrationSPD,2) // SPD response
+ ClassDef(AliITSCalibrationSPD,5) // SPD response
};
#endif