]>
Commit | Line | Data |
---|---|---|
e8189707 | 1 | //////////////////////////////////////////////// |
2 | // Response class for set:ITS // | |
3 | //////////////////////////////////////////////// | |
4 | ||
4efc56c1 | 5 | #include <TMath.h> |
1ca7869b | 6 | #include <TF1.h> |
7 | #include <TString.h> | |
e8189707 | 8 | #include "AliITSresponse.h" |
9 | ||
10 | ClassImp(AliITSresponse) | |
4efc56c1 | 11 | |
12 | //______________________________________________________________________ | |
13 | AliITSresponse::AliITSresponse(){ | |
14 | // Default Constructor | |
15 | ||
16 | fdv = 0.000375; // 300 microns and 80 volts. | |
17 | fN = 0.0; | |
18 | fT = 300.0; | |
19 | } | |
20 | //______________________________________________________________________ | |
21 | AliITSresponse::AliITSresponse(Double_t thickness){ | |
22 | // Default Constructor | |
23 | ||
24 | fdv = thickness/80.0; // 80 volts. | |
25 | fN = 0.0; | |
26 | fT = 300.0; | |
27 | } | |
28 | //______________________________________________________________________ | |
29 | Double_t AliITSresponse::MobilityElectronSiEmp(){ | |
30 | // Computes the electron mobility in cm^2/volt-sec. Taken from SILVACO | |
31 | // International ATLAS II, 2D Device Simulation Framework, User Manual | |
32 | // Chapter 5 Equation 5-6. An empirical function for low-field mobiliity | |
33 | // in silicon at different tempeatures. | |
34 | // Inputs: | |
35 | // none. | |
36 | // Output: | |
37 | // none. | |
38 | // Return: | |
39 | // The Mobility of electrons in Si at a give temprature and impurity | |
40 | // concentration. [cm^2/Volt-sec] | |
41 | const Double_t m0 = 55.24; // cm^2/Volt-sec | |
42 | const Double_t m1 = 7.12E+08; // cm^2 (degree K)^2.3 / Volt-sec | |
43 | const Double_t N0 = 1.072E17; // #/cm^3 | |
44 | const Double_t T0 = 300.; // degree K. | |
45 | const Double_t eT0 = -2.3; // Power of Temp. | |
46 | const Double_t eT1 = -3.8; // Power of Temp. | |
47 | const Double_t eN = 0.73; // Power of Dopent Consentrations | |
48 | Double_t m; | |
49 | Double_t T = fT,N = fN; | |
50 | ||
51 | if(N<=0.0){ // Simple case. | |
52 | if(T==300.) return 1350.0; // From Table 5-1 at consentration 1.0E14. | |
53 | m = m1*TMath::Power(T,eT0); | |
54 | return m; | |
55 | } // if N<=0.0 | |
56 | m = m1*TMath::Power(T,eT0) - m0; | |
57 | m /= 1.0 + TMath::Power(T/T0,eT1)*TMath::Power(N/N0,eN); | |
58 | m += m0; | |
59 | return m; | |
60 | } | |
61 | //______________________________________________________________________ | |
62 | Double_t AliITSresponse::MobilityHoleSiEmp(){ | |
63 | // Computes the Hole mobility in cm^2/volt-sec. Taken from SILVACO | |
64 | // International ATLAS II, 2D Device Simulation Framework, User Manual | |
65 | // Chapter 5 Equation 5-7 An empirical function for low-field mobiliity | |
66 | // in silicon at different tempeatures. | |
67 | // Inputs: | |
68 | // none. | |
69 | // Output: | |
70 | // none. | |
71 | // Return: | |
72 | // The Mobility of Hole in Si at a give temprature and impurity | |
73 | // concentration. [cm^2/Volt-sec] | |
74 | const Double_t m0a = 49.74; // cm^2/Volt-sec | |
75 | const Double_t m0b = 49.70; // cm^2/Volt-sec | |
76 | const Double_t m1 = 1.35E+08; // cm^2 (degree K)^2.3 / Volt-sec | |
77 | const Double_t N0 = 1.606E17; // #/cm^3 | |
78 | const Double_t T0 = 300.; // degree K. | |
79 | const Double_t eT0 = -2.2; // Power of Temp. | |
80 | const Double_t eT1 = -3.7; // Power of Temp. | |
81 | const Double_t eN = 0.70; // Power of Dopent Consentrations | |
82 | Double_t m; | |
83 | Double_t T = fT,N = fN; | |
84 | ||
85 | if(N<=0.0){ // Simple case. | |
86 | if(T==300.) return 495.0; // From Table 5-1 at consentration 1.0E14. | |
87 | m = m1*TMath::Power(T,eT0) + m0a-m0b; | |
88 | return m; | |
89 | } // if N<=0.0 | |
90 | m = m1*TMath::Power(T,eT0) - m0b; | |
91 | m /= 1.0 + TMath::Power(T/T0,eT1)*TMath::Power(N/N0,eN); | |
92 | m += m0a; | |
93 | return m; | |
94 | } | |
95 | //______________________________________________________________________ | |
96 | Double_t AliITSresponse::DiffusionCoefficientElectron(){ | |
97 | // Computes the Diffusion coefficient for electrons in cm^2/sec. Taken | |
98 | // from SILVACO International ATLAS II, 2D Device Simulation Framework, | |
99 | // User Manual Chapter 5 Equation 5-53. Einstein relations for diffusion | |
100 | // coefficient. Note: 1 cm^2/sec = 10 microns^2/nanosec. | |
101 | // Inputs: | |
102 | // none. | |
103 | // Output: | |
104 | // none. | |
105 | // Return: | |
106 | // The Diffusion Coefficient of electrons in Si at a give temprature | |
107 | // and impurity concentration. [cm^2/sec] | |
108 | // const Double_t kb = 1.3806503E-23; // Joules/degree K | |
109 | // const Double_t qe = 1.60217646E-19; // Coulumbs. | |
110 | const Double_t kbqe = 8.617342312E-5; // Volt/degree K | |
111 | Double_t m = MobilityElectronSiEmp(); | |
112 | Double_t T = fT; | |
113 | ||
114 | return m*kbqe*T; // [cm^2/sec] | |
115 | } | |
116 | //______________________________________________________________________ | |
117 | Double_t AliITSresponse::DiffusionCoefficientHole(){ | |
118 | // Computes the Diffusion coefficient for Holes in cm^2/sec. Taken | |
119 | // from SILVACO International ATLAS II, 2D Device Simulation Framework, | |
120 | // User Manual Chapter 5 Equation 5-53. Einstein relations for diffusion | |
121 | // coefficient. Note: 1 cm^2/sec = 10 microns^2/nanosec. | |
122 | // Inputs: | |
123 | // none. | |
124 | // Output: | |
125 | // none. | |
126 | // Return: | |
127 | // The Defusion Coefficient of Hole in Si at a give temprature and | |
128 | // impurity concentration. [cm^2/sec] | |
129 | // and impurity concentration. [cm^2/sec] | |
130 | // const Double_t kb = 1.3806503E-23; // Joules/degree K | |
131 | // const Double_t qe = 1.60217646E-19; // Coulumbs. | |
132 | const Double_t kbqe = 8.617342312E-5; // Volt/degree K | |
133 | Double_t m = MobilityHoleSiEmp(); | |
134 | Double_t T = fT; | |
135 | ||
136 | return m*kbqe*T; // [cm^2/sec] | |
137 | } | |
138 | //______________________________________________________________________ | |
139 | Double_t AliITSresponse::SpeedElectron(){ | |
140 | // Computes the average speed for electrons in Si under the low-field | |
141 | // approximation. [cm/sec]. | |
142 | // Inputs: | |
143 | // none. | |
144 | // Output: | |
145 | // none. | |
146 | // Return: | |
147 | // The speed the holes are traveling at due to the low field applied. | |
148 | // [cm/sec] | |
149 | Double_t m = MobilityElectronSiEmp(); | |
150 | ||
151 | return m/fdv; // [cm/sec] | |
152 | } | |
153 | //______________________________________________________________________ | |
154 | Double_t AliITSresponse::SpeedHole(){ | |
155 | // Computes the average speed for Holes in Si under the low-field | |
156 | // approximation.[cm/sec]. | |
157 | // Inputs: | |
158 | // none. | |
159 | // Output: | |
160 | // none. | |
161 | // Return: | |
162 | // The speed the holes are traveling at due to the low field applied. | |
163 | // [cm/sec] | |
164 | Double_t m = MobilityHoleSiEmp(); | |
165 | ||
166 | return m/fdv; // [cm/sec] | |
167 | } | |
168 | //______________________________________________________________________ | |
169 | Double_t AliITSresponse::SigmaDiffusion3D(Double_t l){ | |
170 | // Returns the Gaussian sigma^2 == <x^2+y^2+z^2> [cm^2] due to the defusion | |
171 | // of electrons or holes through a distance l [cm] caused by an applied | |
172 | // voltage v [volt] through a distance d [cm] in any material at a | |
173 | // temperature T [degree K]. The sigma diffusion when expressed in terms | |
174 | // of the distance over which the diffusion occures, l=time/speed, is | |
175 | // independent of the mobility and therefore the properties of the | |
176 | // material. The charge distributions is given by | |
177 | // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <r^2> = 6Dt where D=mkT/e | |
178 | // (m==mobility, k==Boltzman's constant, T==temparature, e==electric | |
179 | // charge. and vel=m*v/d. consiquently sigma^2=6kTdl/ev. | |
180 | // Inputs: | |
181 | // Double_t l Distance the charge has to travel. | |
182 | // Output: | |
183 | // none. | |
184 | // Return: | |
185 | // The Sigma due to the diffution of electrons. [cm] | |
186 | const Double_t con = 5.17040258E-04; // == 6k/e [J/col or volts] | |
187 | ||
188 | return TMath::Sqrt(con*fT*fdv*l); // [cm] | |
189 | } | |
190 | //______________________________________________________________________ | |
191 | Double_t AliITSresponse::SigmaDiffusion2D(Double_t l){ | |
192 | // Returns the Gaussian sigma^2 == <x^2+z^2> [cm^2] due to the defusion | |
193 | // of electrons or holes through a distance l [cm] caused by an applied | |
194 | // voltage v [volt] through a distance d [cm] in any material at a | |
195 | // temperature T [degree K]. The sigma diffusion when expressed in terms | |
196 | // of the distance over which the diffusion occures, l=time/speed, is | |
197 | // independent of the mobility and therefore the properties of the | |
198 | // material. The charge distributions is given by | |
199 | // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <x^2+z^2> = 4Dt where D=mkT/e | |
200 | // (m==mobility, k==Boltzman's constant, T==temparature, e==electric | |
201 | // charge. and vel=m*v/d. consiquently sigma^2=4kTdl/ev. | |
202 | // Inputs: | |
203 | // Double_t l Distance the charge has to travel. | |
204 | // Output: | |
205 | // none. | |
206 | // Return: | |
207 | // The Sigma due to the diffution of electrons. [cm] | |
208 | const Double_t con = 3.446935053E-04; // == 4k/e [J/col or volts] | |
209 | ||
210 | return TMath::Sqrt(con*fT*fdv*l); // [cm] | |
211 | } | |
212 | //______________________________________________________________________ | |
213 | Double_t AliITSresponse::SigmaDiffusion1D(Double_t l){ | |
214 | // Returns the Gaussian sigma^2 == <x^2> [cm^2] due to the defusion | |
215 | // of electrons or holes through a distance l [cm] caused by an applied | |
216 | // voltage v [volt] through a distance d [cm] in any material at a | |
217 | // temperature T [degree K]. The sigma diffusion when expressed in terms | |
218 | // of the distance over which the diffusion occures, l=time/speed, is | |
219 | // independent of the mobility and therefore the properties of the | |
220 | // material. The charge distributions is given by | |
221 | // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <r^2> = 2Dt where D=mkT/e | |
222 | // (m==mobility, k==Boltzman's constant, T==temparature, e==electric | |
223 | // charge. and vel=m*v/d. consiquently sigma^2=2kTdl/ev. | |
224 | // Inputs: | |
225 | // Double_t l Distance the charge has to travel. | |
226 | // Output: | |
227 | // none. | |
228 | // Return: | |
229 | // The Sigma due to the diffution of electrons. [cm] | |
230 | const Double_t con = 1.723467527E-04; // == 2k/e [J/col or volts] | |
231 | ||
232 | return TMath::Sqrt(con*fT*fdv*l); // [cm] | |
233 | } |