]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSresponseSSD.h
Changing default for raw data layout
[u/mrichter/AliRoot.git] / ITS / AliITSresponseSSD.h
1 #ifndef ALIITSRESPONSESSD_H
2 #define ALIITSRESPONSESSD_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 #include "AliITSresponse.h"
7 #include <Riostream.h>
8
9 /////////////////////////////////////////////////// 
10 // Response class for SSD                        //
11 //                                               //
12 ///////////////////////////////////////////////////
13
14 class AliITSresponseSSD : public AliITSresponse {
15
16  public:
17     AliITSresponseSSD();
18     virtual ~AliITSresponseSSD() {;}
19     virtual void    SetParamOptions(const char *opt1, const char *opt2) {
20         // parameters: "SetInvalid" to simulate the invalid strips
21         fOption1=opt1; fOption2=opt2;
22     }
23     virtual void    ParamOptions(char *opt1,char *opt2) const {
24         // options
25         strcpy(opt1,fOption1.Data());  strcpy(opt2,fOption2.Data());
26     }
27     void SetADCpereV(Double_t a=120./24888.9){fADCpereV = a;}
28     Double_t DEvToADC(Double_t eV) const {return eV*fADCpereV;}
29     Int_t IEvToADC(Double_t eV) const { // Converts electron-hole pairs to
30       return ((Int_t) DEvToADC(eV)); }
31       
32     void SetKeVperADC(Double_t a=86.4/120.){fKeVperADC = a;}
33     Double_t ADCToKeV(Double_t adc) const {return adc*fKeVperADC;}
34
35     Double_t  GetCouplingPR() const {// couplings
36       return fCouplingPR;}
37     Double_t  GetCouplingPL() const {// couplings
38       return fCouplingPL;}
39     Double_t  GetCouplingNR() const {// couplings
40       return fCouplingNR;}
41     Double_t  GetCouplingNL() const {// couplings
42       return fCouplingNL;}
43     virtual void SetCouplings(Double_t pr, Double_t pl, Double_t nr, Double_t nl) {
44       fCouplingPR=pr; fCouplingPL=pl; fCouplingNR=nr; fCouplingNL=nl; }
45
46     Int_t GetZSThreshold() const { // ZS threshold
47       return fZSThreshold; }
48     virtual void SetZSThreshold(Int_t zsth) { fZSThreshold = zsth; }
49
50 protected:
51     static const Float_t fgkDiffCoeffDefault; //default for fDiffCoeff
52     static const TString fgkOption1Default; // default for fOption1
53     static const TString fgkOption2Default; // default for fOption2
54
55     static const Double_t fgkfCouplingPR;  // default value for couplings
56     static const Double_t fgkfCouplingPL;  // default value for couplings
57     static const Double_t fgkfCouplingNR;  // default value for couplings
58     static const Double_t fgkfCouplingNL;  // default value for couplings
59
60     Double_t fADCpereV;        // Constant to convert eV to ADC.
61     Double_t fKeVperADC;       // Constant to convert ADC to keV
62
63     Double_t  fCouplingPR;  // couplings
64     Double_t  fCouplingPL;  // couplings
65     Double_t  fCouplingNR;  // couplings
66     Double_t  fCouplingNL;  // couplings   
67
68     static const Int_t fgkZSThreshold; // threshold for the zero suppresion
69     Int_t fZSThreshold; 
70
71      TString fOption1;         // Simulate invalid strips option
72     TString fOption2;         // Not used for the moment
73
74  private:
75     AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor
76     AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op.
77
78     ClassDef(AliITSresponseSSD,4) //Response class for SSD
79 };
80 #endif