]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponseSPD.h
Additional protection in the destructor: when you have a chain of calls returning...
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSPD.h
index dd018212bf35df6879378620c580435c8d9b456c..b28e1e2a721ec58edc19f847e9996e92b8a859b4 100644 (file)
@@ -1,70 +1,40 @@
 #ifndef ALIITSRESPONSESPD_H
 #define ALIITSRESPONSESPD_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
-#include "AliITSresponse.h"
-#include <TString.h>
 
-//----------------------------------------------
-//
-// ITS response class for SPD
-//
-class AliITSresponseSPD :
-  public AliITSresponse {
-public:
-  
-  AliITSresponseSPD();
-  virtual ~AliITSresponseSPD() { 
-    // destructror
-  }
-  //
-  // Configuration methods
-  //
-  
-  
-  virtual  void   SetDiffCoeff(Float_t p1=0) {
-    // 
-    fDiffCoeff=p1;
-  }
-  virtual  Float_t   DiffCoeff() {
-    // 
-    return fDiffCoeff;
-  }
-  virtual  void   SetThresholds(Float_t thresh=2000, Float_t sigma=280) {
-    // Set Threshold and noise + threshold fluctuations parameter values
-    fThresh=thresh; fSigma=sigma;
-  }
-  virtual  void   Thresholds(Float_t &thresh, Float_t &sigma) {
-    // Get Threshold and noise + threshold fluctuations parameter values
-    thresh=fThresh; sigma=fSigma;
-  }
-  virtual  void   SetNoiseParam(Float_t col=0., Float_t row=0.) {
-    // set coupling parameters
-    fCouplCol=col; fCouplRow=row;
-  }   
-  virtual  void   GetNoiseParam(Float_t &col, Float_t &row) {
-    // get coupling parameters
-    col=fCouplCol; row=fCouplRow;
-  }       
-  virtual void    SetDataType(char *data="simulated") {
-    // Type of data - real or simulated
-    fDataType=data;
-  }
-  virtual const char  *DataType() {
-    // Get data typer
-    return fDataType.Data();
-  } 
-  
-  ClassDef(AliITSresponseSPD,1) // SPD response
-    
-    protected:
+#include "AliITSresponse.h"
+///////////////////////////////////////////
+//                                       //
+// ITS response class for SPD            //
+///////////////////////////////////////////
   
-  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
+class AliITSresponseSPD :  public AliITSresponse {
+ public:
+    AliITSresponseSPD(); // default constructor
+    virtual ~AliITSresponseSPD() {;} // destructror
+
+    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;}
+
+ protected:
+
+    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 
+
+    TString fCouplOpt;        // Coupling Option
+    Float_t fEccDiff;         // Eccentricity (i.e. asymmetry parameter) in the Gaussian Diffusion
+
 
-  TString fDataType;        // Type of data - real or simulated
+    ClassDef(AliITSresponseSPD,6) // SPD base response class
 };
 
 #endif