/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/*
-$Id$
-*/
#include "AliITSresponse.h"
-
-//----------------------------------------------
-//
-// ITS response class for SPD
-//
+///////////////////////////////////////////
+// //
+// ITS response class for SPD //
+///////////////////////////////////////////
+
class AliITSresponseSPD : public AliITSresponse {
public:
AliITSresponseSPD(); // default constructor
- virtual ~AliITSresponseSPD() {} // destructror
+ virtual ~AliITSresponseSPD() {;} // destructror
- // Implementation of virtual member functions declared in AliITSresponse
- // sets the diffusion coeffecient.
- virtual void SetDiffCoeff(Float_t p1, Float_t /*dummy */) {fDiffCoeff=p1;}
- // returns the diffusion coeffeciant
- virtual void DiffCoeff(Float_t &p1, Float_t & /*p2 */) const
- {p1 = fDiffCoeff;}
- // Set Threshold and noise + threshold fluctuations parameter values
- virtual void SetThresholds(Float_t thresh, Float_t sigma)
- {fThresh=thresh; fSigma=sigma;}
- // Get Threshold and noise + threshold fluctuations parameter values
- virtual void Thresholds(Float_t &thresh, Float_t &sigma) const
- {thresh=fThresh; sigma=fSigma;}
- // set coupling parameters
- virtual void SetNoiseParam(Float_t col, Float_t row)
- {fCouplCol=col; fCouplRow=row;}
- // get coupling parameters
- virtual void GetNoiseParam(Float_t &col, Float_t &row) const
- {col=fCouplCol; row=fCouplRow;}
+ virtual void SetCouplingOption(const char *opt) { // Options: "old" or "new"
+ fCouplOpt=opt;}
+ virtual void CouplingOption(char *opt) const {
+ strcpy(opt,fCouplOpt.Data());}
+ virtual void SetSigmaDiffusionAsymmetry(Double_t ecc)
+ {fEccDiff=ecc;}
+ virtual void GetSigmaDiffusionAsymmetry(Double_t &ecc) const
+ {ecc=fEccDiff;}
-//Declaration of member functions peculiar to this class
- // Sets the fraction of Dead SPD Pixels
- void SetFractionDead(Float_t d=0.01){ fDeadPixels = d;}
- // Retruns the fraction of Dead SPD Pixels
- Float_t GetFractionDead() const {return fDeadPixels;}
+ protected:
- //abstract methods in AliITSresponse not implemented in this class
- virtual void SetDriftSpeed(Float_t /* p1 */)
- {NotImplemented("SetDriftSpeed");}
- virtual Float_t DriftSpeed() const
- {NotImplemented("DrifSpeed"); return 0.;}
- virtual void GiveCompressParam(Int_t *) const
- {NotImplemented("GiveCompressParam");}
- virtual void SetElectronics(Int_t /* i */)
- {NotImplemented("SetElectronics");}
- virtual Int_t Electronics() const {NotImplemented("Electronics"); return 0;}
- virtual void SetMaxAdc(Float_t /* adc */) {NotImplemented("SetMaxAdc");}
- virtual Float_t MaxAdc() const {NotImplemented("MaxAdc"); return 0.;}
- virtual void SetDynamicRange(Float_t /*dr */)
- {NotImplemented("SetDynamicRange");}
- virtual Float_t DynamicRange() const
- {NotImplemented("DynamicRange"); return 0.;}
- virtual void SetChargeLoss(Float_t /* cl */)
- {NotImplemented("SetChargeLoss"); }
- virtual Float_t ChargeLoss() const
- {NotImplemented("ChargeLoss"); return 0.;}
- virtual void SetDetParam(Float_t *)
- {NotImplemented("SetDetParam");}
- virtual void GetDetParam(Float_t *) const
- {NotImplemented("GetDetParam");}
- virtual void SetNDetParam(Int_t /* n */)
- {NotImplemented("SetNDetParam");}
- virtual Int_t NDetParam() const
- {NotImplemented("NDetParam"); return 0;}
- virtual void SetParamOptions(const char* /* a */,const char* /* b */)
- {NotImplemented("SetParamOptions");}
- virtual void ParamOptions(char *,char*) const
- {NotImplemented("ParamOptions");}
- virtual void SetZeroSupp(const char*)
- {NotImplemented("SetZeroSupp");}
- virtual const char *ZeroSuppOption() const
- {NotImplemented("ZeroSuppression"); return "";}
- virtual void SetNSigmaIntegration(Float_t)
- {NotImplemented("SetNSigmaIntegration");}
- virtual Float_t NSigmaIntegration() const
- {NotImplemented("NSigmaIntegration"); return 0.;}
- virtual void SetNLookUp(Int_t)
- {NotImplemented("SetNLookUp");}
- virtual void SetSigmaSpread(Float_t, Float_t)
- {NotImplemented("SetSigmaSpread");}
- virtual void SigmaSpread(Float_t & /* p1 */,Float_t & /* p2 */) const
- {NotImplemented("SigmaSpread");}
+ static const Float_t fgkDiffCoeffDefault; //default for fDiffCoeff
+ static const TString fgkCouplingOptDefault; // type of pixel Coupling (old or new)
+ static const Float_t fgkEccentricityDiffDefault;//default for fCouplRow
- protected:
- static const Float_t fgkDiffCoeffDefault; //default for fDiffCoeff
- static const Float_t fgkThreshDefault; //default for fThresh
- static const Float_t fgkSigmaDefault; //default for fSigma
- Float_t fDiffCoeff; // Sigma diffusion coefficient (not used)
- Float_t fThresh; // Threshold value
- Float_t fSigma; // Noise + threshold fluctuations value
- Float_t fCouplCol; // Coupling probability along a column
- Float_t fCouplRow; // Coupling probability along a row
- Float_t fDeadPixels; // the fraction of dead pixels
+ TString fCouplOpt; // Coupling Option
+ Float_t fEccDiff; // Eccentricity (i.e. asymmetry parameter) in the Gaussian Diffusion
- ClassDef(AliITSresponseSPD,2) // SPD response
+ ClassDef(AliITSresponseSPD,6) // SPD base response class
};
#endif