]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponseSSD.h
effc++ warnings corrected
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSSD.h
index 3a427265628d6fa921a5f7a3dade0b28d60ae0a6..15ee0d8ecf9440153b467e7dab021d19d6c77e13 100644 (file)
 #ifndef ALIITSRESPONSESSD_H
 #define ALIITSRESPONSESSD_H
-#include "AliITSresponse.h"
-
-class TString;
-
-// response for SSD
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
-//-----------------------------
-class AliITSresponseSSD :
-public AliITSresponse {
-
-public:
-  
-  AliITSresponseSSD();
-  virtual ~AliITSresponseSSD();
-  AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor
-  AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op.
-  
-  virtual void    SetDiffCoeff(Float_t p1=0.,Float_t dummy=0.) {
-    // Diffusion coefficient
-    fDiffCoeff=p1;
-  }
-  virtual void    DiffCoeff(Float_t &diffc,Float_t &dummy) {
-    // Get diffusion coefficient
-    diffc= fDiffCoeff;
-  }
-  
-  virtual  void   SetNoiseParam(Float_t np=420., Float_t nn=625.) {
-    // set noise par
-    fNoiseP=np; fNoiseN=nn;
-  }
-  virtual void    GetNoiseParam(Float_t &np, Float_t &nn) {
-    // get noise par
-    np=fNoiseP; nn=fNoiseN;
-  }
-  
-  virtual void    SetParamOptions(const char *opt1="", const char *opt2="") {
-    // parameters: "SetInvalid" to simulate the invalid strips
-    fOption1=opt1; fOption2=opt2;
-  }
-  virtual void    ParamOptions(char *opt1,char *opt2) {
-    // options
-     strcpy(opt1,fOption1.Data());  strcpy(opt2,fOption2.Data());
-  }
-  
-  // Number of parameters to be set
-  // 4 couplings, mean number of invalid strips, RMS of invalid strips
-  virtual  void   SetNDetParam(Int_t npar=6) {
-    // set number of param
-    fNPar=npar;
-  }
-
-  virtual  void   SetDetParam(Float_t *par);
-  
-  // Parameters options
-  virtual Int_t   NDetParam() {
-    // number of param
-    return fNPar;
-  }
-  virtual void    GetDetParam(Float_t *dpar); 
+#include "AliITSresponse.h"
+#include <Riostream.h>
+
+/////////////////////////////////////////////////// 
+// Response class for SSD                        //
+//                                               //
+///////////////////////////////////////////////////
+
+class AliITSresponseSSD : public AliITSresponse {
+
+ public:
+    AliITSresponseSSD();
+    virtual ~AliITSresponseSSD() {;}
+    virtual void    SetParamOptions(const char *opt1, const char *opt2) {
+       // parameters: "SetInvalid" to simulate the invalid strips
+       fOption1=opt1; fOption2=opt2;
+    }
+    virtual void    ParamOptions(char *opt1,char *opt2) const {
+       // options
+       strcpy(opt1,fOption1.Data());  strcpy(opt2,fOption2.Data());
+    }
+    void SetADCpereV(Double_t a=120./24888.9){fADCpereV = a;}
+    Double_t DEvToADC(Double_t eV) const {return eV*fADCpereV;}
+    Int_t IEvToADC(Double_t eV) const { // Converts electron-hole pairs to
+      return ((Int_t) DEvToADC(eV)); }
+      
+    void SetKeVperADC(Double_t a=86.4/120.){fKeVperADC = a;}
+    Double_t ADCToKeV(Double_t adc) const {return adc*fKeVperADC;}
+
+    Double_t  GetCouplingPR() const {// couplings
+      return fCouplingPR;}
+    Double_t  GetCouplingPL() const {// couplings
+      return fCouplingPL;}
+    Double_t  GetCouplingNR() const {// couplings
+      return fCouplingNR;}
+    Double_t  GetCouplingNL() const {// couplings
+      return fCouplingNL;}
+    virtual void SetCouplings(Double_t pr, Double_t pl, Double_t nr, Double_t nl) {
+      fCouplingPR=pr; fCouplingPL=pl; fCouplingNR=nr; fCouplingNL=nl; }
+
+    Int_t GetZSThreshold() const { // ZS threshold
+      return fZSThreshold; }
+    virtual void SetZSThreshold(Int_t zsth) { fZSThreshold = zsth; }
 
-  virtual void    SetDataType(const char *data="simulated") {
-  // Type of data - real or simulated
-    fDataType=data;
-  }
-  virtual const char  *DataType() const {
-    // Get data type
-    return fDataType.Data();
-  } 
-  
-  virtual void    SetSigmaSpread(Float_t p1=3., Float_t p2=2.) {
-    // Set sigmas of the charge spread function: Pside-Nside
-    // square of (microns)
-    fSigmaP=p1; fSigmaN=p2;
-  }
-  virtual void    SigmaSpread(Float_t &sP, Float_t &sN) {
-    // Get sigmas for the charge spread 
-    sP=fSigmaP; sN=fSigmaN;
-  }
-  
 protected:
-  Int_t   fNPar;            // Number of detector param 
-  Float_t *fDetPar;         //[fNPar] Array of parameters 
-  
-  Float_t fNoiseP;          // Noise on Pside
-  Float_t fNoiseN;          // Noise on Nside
-  
-  Float_t fSigmaP;          // Sigma charge spread on Pside
-  Float_t fSigmaN;          // Sigma charge spread on Nside
-  Float_t fDiffCoeff;       // Diffusion Coefficient
-  
-  TString fOption1;         // Simulate invalid strips option
-  TString fOption2;         // Not used for the moment
-  
-  TString  fDataType;       // Type of data - real or simulated
-  
-  ClassDef(AliITSresponseSSD,1) //Response class for SSD 
-
-    };
-
-
-
-#endif
+    static const Float_t fgkDiffCoeffDefault; //default for fDiffCoeff
+    static const TString fgkOption1Default; // default for fOption1
+    static const TString fgkOption2Default; // default for fOption2
 
+    static const Double_t fgkfCouplingPR;  // default value for couplings
+    static const Double_t fgkfCouplingPL;  // default value for couplings
+    static const Double_t fgkfCouplingNR;  // default value for couplings
+    static const Double_t fgkfCouplingNL;  // default value for couplings
 
+    Double_t fADCpereV;        // Constant to convert eV to ADC.
+    Double_t fKeVperADC;       // Constant to convert ADC to keV
 
+    Double_t  fCouplingPR;  // couplings
+    Double_t  fCouplingPL;  // couplings
+    Double_t  fCouplingNR;  // couplings
+    Double_t  fCouplingNL;  // couplings   
 
+    static const Int_t fgkZSThreshold; // threshold for the zero suppresion
+    Int_t fZSThreshold; 
 
+     TString fOption1;         // Simulate invalid strips option
+    TString fOption2;         // Not used for the moment
 
+ private:
+    AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor
+    AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op.
 
+    ClassDef(AliITSresponseSSD,4) //Response class for SSD
+};
+#endif