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