]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSresponseSSD.h
- AliITSInitGeometry.cxx (updated): fgkOldSSDcone changed from kTRUE to
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSSD.h
index 350d43427d41304acb2c658eb32748f816c4e4d3..15ee0d8ecf9440153b467e7dab021d19d6c77e13 100644 (file)
 #ifndef ALIITSRESPONSESSD_H
 #define ALIITSRESPONSESSD_H
-#include "AliITSresponse.h"
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
-class TString;
+#include "AliITSresponse.h"
+#include <Riostream.h>
 
-// response for SSD
+/////////////////////////////////////////////////// 
+// Response class for SSD                        //
+//                                               //
+///////////////////////////////////////////////////
 
-//-----------------------------
 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="") {
+    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) {
+    virtual void    ParamOptions(char *opt1,char *opt2) const {
        // 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); 
-
-    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;
-    }
-    virtual void SetADCpereV(Float_t a=50./30000.0){ // Sets eV to ADC value
-       fADCpereV = a;
-    }
-    virtual Double_t DEvToADC(Double_t eV){ // Converts eV to ADC value
-       // conversion factor are rather arbitrary (need tuning)
-       // minimum ionizing particle--> ~30000 pairs--> ADC channel 50
-       return eV*fADCpereV;
-    }
-    virtual Int_t IEvToADC(Double_t eV){ // Converts eV to ADC value
-       return ((Int_t) DEvToADC(eV));
-    }
-  
- 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
-
-    Float_t fADCpereV;        // Constant to convert eV to ADC.
-
-    TString fOption1;         // Simulate invalid strips option
+    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; }
+
+protected:
+    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
-    TString fDataType;       // Type of data - real or simulated
 
-    ClassDef(AliITSresponseSSD,1) //Response class for SSD
+ private:
+    AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor
+    AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op.
+
+    ClassDef(AliITSresponseSSD,4) //Response class for SSD
 };
 #endif
-
-
-
-
-
-
-