#ifndef ALIITSRESPONSESPD_H
#define ALIITSRESPONSESPD_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice */
+
+/*
+$Id$
+*/
-#include "AliITSsegmentation.h"
#include "AliITSresponse.h"
+
//----------------------------------------------
//
// ITS response class for SPD
//
-class AliITSresponseSPD :
- public AliITSresponse {
-public:
-
- AliITSresponseSPD();
- virtual ~AliITSresponseSPD() {
- // destructror
- }
- //
- // Configuration methods
- //
- virtual void SetDiffCoeff(Float_t p1=0.00433) {
- // Diffusion coefficient
- fDiffCoeff=p1;
- }
- virtual Float_t DiffCoeff() {
- // Get diffusion coefficient
- return fDiffCoeff;
- }
- virtual void SetNoiseParam(Float_t n=0., Float_t b=0.) {
- // set noise
- fNoise=n; fBaseline=b;
- }
- virtual void GetNoiseParam(Float_t &n, Float_t &b) {
- // get noise
- n=fNoise; b=fBaseline;
- }
- virtual void SetMinVal(Int_t p1=0) {
- // Zero-suppression option threshold
- fThreshold=p1;
- }
- virtual Int_t MinVal() {
- // Get zero-suppression threshold
- return fThreshold;
- }
- virtual void SetDataType(char *data="simulated") {
- // Type of data - real or simulated
- fDataType=data;
- }
- virtual char *DataType() {
- // Get data typer
- return fDataType;
- }
-
- ClassDef(AliITSresponseSPD,1) // SPD response
-
- protected:
-
- Float_t fDiffCoeff; // Diffusion Coefficient
- Float_t fNoise; // Noise value
- Float_t fBaseline; // Baseline value
- Int_t fThreshold; // Zero-Suppression threshold
-
- char* fDataType; // Type of data - real or simulated
+class AliITSresponseSPD : public AliITSresponse {
+ public:
+ AliITSresponseSPD(); // default constructor
+ 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;}
+
+//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;}
+
+ //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");}
+
+ 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
+
+
+ ClassDef(AliITSresponseSPD,2) // SPD response
};
#endif