]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponseSPD.h
Revert one change (Sun,Alpha)
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSPD.h
index f89ce96b4f7277855ba5de2092db9338d82a35a7..971ed87964cc728dadde785c8a92ac8e510ac16f 100644 (file)
 #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