]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponseSPD.h
set reco param on an event by event basis
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSPD.h
index 971ed87964cc728dadde785c8a92ac8e510ac16f..4d26e4d236e619144c88474c96e6f5e39888a1dd 100644 (file)
 /* 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 {
+      strncpy(opt,fCouplOpt.Data(),fCouplOpt.Sizeof());}
+    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