b0f5e3fc |
1 | #ifndef ALIITSRESPONSESSD_H |
2 | #define ALIITSRESPONSESSD_H |
3 | |
4 | #include "AliITSresponse.h" |
5 | |
1ca7869b |
6 | class TString; |
7 | |
b0f5e3fc |
8 | // response for SSD |
9 | |
10 | //----------------------------- |
6a407881 |
11 | class AliITSresponseSSD : public AliITSresponse { |
12 | |
13 | public: |
14 | AliITSresponseSSD(); |
9de0700b |
15 | AliITSresponseSSD(const char *dataType); |
6a407881 |
16 | virtual ~AliITSresponseSSD(); |
17 | AliITSresponseSSD(const AliITSresponseSSD &source); // copy constructor |
18 | AliITSresponseSSD& operator=(const AliITSresponseSSD &source); // ass. op. |
19 | |
20 | virtual void SetDiffCoeff(Float_t p1=0.,Float_t dummy=0.) { |
21 | // Diffusion coefficient |
22 | fDiffCoeff=p1; |
23 | } |
24 | virtual void DiffCoeff(Float_t &diffc,Float_t &dummy) { |
25 | // Get diffusion coefficient |
26 | diffc= fDiffCoeff; |
27 | } |
28 | |
29 | virtual void SetNoiseParam(Float_t np=420., Float_t nn=625.) { |
30 | // set noise par |
31 | fNoiseP=np; fNoiseN=nn; |
32 | } |
33 | virtual void GetNoiseParam(Float_t &np, Float_t &nn) { |
34 | // get noise par |
35 | np=fNoiseP; nn=fNoiseN; |
36 | } |
37 | |
38 | virtual void SetParamOptions(const char *opt1="", const char *opt2="") { |
39 | // parameters: "SetInvalid" to simulate the invalid strips |
40 | fOption1=opt1; fOption2=opt2; |
41 | } |
42 | virtual void ParamOptions(char *opt1,char *opt2) { |
43 | // options |
44 | strcpy(opt1,fOption1.Data()); strcpy(opt2,fOption2.Data()); |
45 | } |
46 | |
47 | // Number of parameters to be set |
48 | // 4 couplings, mean number of invalid strips, RMS of invalid strips |
49 | virtual void SetNDetParam(Int_t npar=6) { |
50 | // set number of param |
51 | fNPar=npar; |
52 | } |
53 | |
54 | virtual void SetDetParam(Float_t *par); |
55 | |
56 | // Parameters options |
57 | virtual Int_t NDetParam() { |
58 | // number of param |
59 | return fNPar; |
60 | } |
61 | virtual void GetDetParam(Float_t *dpar); |
62 | |
63 | virtual void SetDataType(const char *data="simulated") { |
64 | // Type of data - real or simulated |
65 | fDataType=data; |
66 | } |
67 | virtual const char *DataType() const { |
68 | // Get data type |
69 | return fDataType.Data(); |
70 | } |
71 | |
72 | virtual void SetSigmaSpread(Float_t p1=3., Float_t p2=2.) { |
73 | // Set sigmas of the charge spread function: Pside-Nside |
74 | // square of (microns) |
75 | fSigmaP=p1; fSigmaN=p2; |
76 | } |
77 | virtual void SigmaSpread(Float_t &sP, Float_t &sN) { |
78 | // Get sigmas for the charge spread |
79 | sP=fSigmaP; sN=fSigmaN; |
80 | } |
2aea926d |
81 | virtual void SetADCpereV(Float_t a=50./30000.0){ // Sets electron-hole |
82 | // pairs to ADC value conversion factor are rather arbitrary |
83 | // (need tuning) minimum ionizing particle--> ~30000 pairs--> ADC |
84 | // channel 50 |
6a407881 |
85 | fADCpereV = a; |
86 | } |
2aea926d |
87 | virtual Double_t DEvToADC(Double_t eV){ // Converts electron-hole pairs to |
88 | // ADC value conversion factor are rather arbitrary (need tuning) |
6a407881 |
89 | // minimum ionizing particle--> ~30000 pairs--> ADC channel 50 |
90 | return eV*fADCpereV; |
91 | } |
2aea926d |
92 | virtual Int_t IEvToADC(Double_t eV){ // Converts electron-hole pairs to |
93 | // ADC value |
6a407881 |
94 | return ((Int_t) DEvToADC(eV)); |
95 | } |
b0f5e3fc |
96 | |
6a407881 |
97 | protected: |
98 | Int_t fNPar; // Number of detector param |
99 | Float_t *fDetPar; //[fNPar] Array of parameters |
100 | |
101 | Float_t fNoiseP; // Noise on Pside |
102 | Float_t fNoiseN; // Noise on Nside |
b0f5e3fc |
103 | |
6a407881 |
104 | Float_t fSigmaP; // Sigma charge spread on Pside |
105 | Float_t fSigmaN; // Sigma charge spread on Nside |
106 | Float_t fDiffCoeff; // Diffusion Coefficient |
b0f5e3fc |
107 | |
6a407881 |
108 | Float_t fADCpereV; // Constant to convert eV to ADC. |
b0f5e3fc |
109 | |
6a407881 |
110 | TString fOption1; // Simulate invalid strips option |
111 | TString fOption2; // Not used for the moment |
112 | TString fDataType; // Type of data - real or simulated |
b0f5e3fc |
113 | |
6a407881 |
114 | ClassDef(AliITSresponseSSD,1) //Response class for SSD |
115 | }; |
b0f5e3fc |
116 | #endif |