1 /**************************************************************************
2 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
18 ///////////////////////////////////////////////////////////////////
20 // Implementation of the class to store the parameters used in //
21 // the simulation of SPD, SDD and SSD detectors //
22 // Origin: F.Prino, Torino, prino@to.infn.it //
24 ///////////////////////////////////////////////////////////////////
26 #include "AliITSSimuParam.h"
29 const Float_t AliITSSimuParam::fgkSPDBiasVoltageDefault = 18.182;
30 const Double_t AliITSSimuParam::fgkSPDThreshDefault = 3000.;
31 const Double_t AliITSSimuParam::fgkSPDSigmaDefault = 250.;
32 const TString AliITSSimuParam::fgkSPDCouplingOptDefault = "old";
33 const Double_t AliITSSimuParam::fgkSPDCouplColDefault = 0.;
34 const Double_t AliITSSimuParam::fgkSPDCouplRowDefault = 0.055;
35 const Float_t AliITSSimuParam::fgkSPDEccDiffDefault = 0.85;
36 const Float_t AliITSSimuParam::fgkSDDDiffCoeffDefault = 3.23;
37 const Float_t AliITSSimuParam::fgkSDDDiffCoeff1Default = 30.;
38 const Float_t AliITSSimuParam::fgkSDDJitterErrorDefault = 20.; // 20 um from beam test 2001
39 const Float_t AliITSSimuParam::fgkSDDDynamicRangeDefault = 1400./2.5; // mV/MOhm = nA
40 const Int_t AliITSSimuParam::fgkSDDMaxAdcDefault = 1024;
41 const Float_t AliITSSimuParam::fgkSDDChargeLossDefault = 0.;
42 const Float_t AliITSSimuParam::fgkSDDTrigDelayDefault = 0.;
43 const Double_t AliITSSimuParam::fgkSSDCouplingPRDefault = 0.01;
44 const Double_t AliITSSimuParam::fgkSSDCouplingPLDefault = 0.01;
45 const Double_t AliITSSimuParam::fgkSSDCouplingNRDefault = 0.01;
46 const Double_t AliITSSimuParam::fgkSSDCouplingNLDefault = 0.01;
47 const Int_t AliITSSimuParam::fgkSSDZSThresholdDefault = 3;
49 const Float_t AliITSSimuParam::fgkNsigmasDefault = 3.;
50 const Int_t AliITSSimuParam::fgkNcompsDefault = 121;
52 ClassImp(AliITSSimuParam)
54 //______________________________________________________________________
55 AliITSSimuParam::AliITSSimuParam():
59 //fSPDBiasVoltage(fgkSPDBiasVoltageDefault),
60 //fSPDThresh(fgkSPDThreshDefault),
61 //fSPDSigma(fgkSPDSigmaDefault),
63 fSPDCouplCol(fgkSPDCouplColDefault),
64 fSPDCouplRow(fgkSPDCouplRowDefault),
66 fSPDAddNoisyFlag(kFALSE),
67 fSPDRemoveDeadFlag(kFALSE),
71 fSDDJitterError(fgkSDDJitterErrorDefault),
72 fSDDDynamicRange(fgkSDDDynamicRangeDefault),
74 fSDDChargeLoss(fgkSDDChargeLossDefault),
75 fSDDTrigDelay(fgkSDDTrigDelayDefault),
81 fSSDZSThreshold(fgkSSDZSThresholdDefault),
82 fNsigmas(fgkNsigmasDefault),
83 fNcomps(fgkNcompsDefault),
88 // default constructor
89 SetSPDBiasVoltageAll(fgkSPDBiasVoltageDefault);
90 SetSPDThresholdsAll(fgkSPDThreshDefault,fgkSPDSigmaDefault);
93 SetDistanceOverVoltage();
94 SetSPDCouplingOption(fgkSPDCouplingOptDefault);
95 SetSPDSigmaDiffusionAsymmetry(fgkSPDEccDiffDefault);
97 SetSDDDiffCoeff(fgkSDDDiffCoeffDefault,fgkSDDDiffCoeff1Default);
98 SetSDDMaxAdc((Double_t)fgkSDDMaxAdcDefault);
99 SetSSDCouplings(fgkSSDCouplingPRDefault,fgkSSDCouplingPLDefault,fgkSSDCouplingNRDefault,fgkSSDCouplingNLDefault);
101 //______________________________________________________________________
102 AliITSSimuParam::AliITSSimuParam(const AliITSSimuParam &simpar):
104 fGeVcharge(simpar.fGeVcharge),
105 fDOverV(simpar.fDOverV),
106 //fSPDBiasVoltage(simpar.fSPDBiasVoltage),
107 //fSPDThresh(simpar.fSPDThresh),
108 //fSPDSigma(simpar.fSPDSigma),
109 fSPDCouplOpt(simpar.fSPDCouplOpt),
110 fSPDCouplCol(simpar.fSPDCouplCol),
111 fSPDCouplRow(simpar.fSPDCouplRow),
112 fSPDEccDiff(simpar.fSPDEccDiff),
113 fSPDAddNoisyFlag(simpar.fSPDAddNoisyFlag),
114 fSPDRemoveDeadFlag(simpar.fSPDRemoveDeadFlag),
115 fSDDElectronics(simpar.fSDDElectronics),
116 fSDDDiffCoeff(simpar.fSDDDiffCoeff),
117 fSDDDiffCoeff1(simpar.fSDDDiffCoeff1),
118 fSDDJitterError(simpar.fSDDJitterError),
119 fSDDDynamicRange(simpar.fSDDDynamicRange),
120 fSDDMaxAdc(simpar.fSDDMaxAdc),
121 fSDDChargeLoss(simpar.fSDDChargeLoss),
122 fSDDTrigDelay(simpar.fSDDTrigDelay),
123 fSDDRawFormat(simpar.fSDDRawFormat),
124 fSSDCouplingPR(simpar.fSSDCouplingPR),
125 fSSDCouplingPL(simpar.fSSDCouplingPL),
126 fSSDCouplingNR(simpar.fSSDCouplingNR),
127 fSSDCouplingNL(simpar.fSSDCouplingNL),
128 fSSDZSThreshold(simpar.fSSDZSThreshold),
129 fNsigmas(simpar.fNsigmas),
130 fNcomps(simpar.fNcomps),
135 for (Int_t i=0;i<240;i++) {
136 fSPDBiasVoltage[i]=simpar.fSPDBiasVoltage[i];
137 fSPDThresh[i]=simpar.fSPDThresh[i];
138 fSPDSigma[i]=simpar.fSPDSigma[i];
139 fSPDNoise[i]=simpar.fSPDNoise[i];
140 fSPDBaseline[i]=simpar.fSPDBaseline[i];
144 //______________________________________________________________________
145 AliITSSimuParam& AliITSSimuParam::operator=(const AliITSSimuParam& source){
146 // Assignment operator.
147 this->~AliITSSimuParam();
148 new(this) AliITSSimuParam(source);
154 //______________________________________________________________________
155 AliITSSimuParam::~AliITSSimuParam() {
157 if(fGaus) delete fGaus;
159 //________________________________________________________________________
160 void AliITSSimuParam::SetNLookUp(Int_t p1){
161 // Set number of sigmas over which cluster disintegration is performed
163 if (fGaus) delete fGaus;
164 fGaus = new TArrayF(fNcomps+1);
165 for(Int_t i=0; i<=fNcomps; i++) {
166 Float_t x = -fNsigmas + (2.*i*fNsigmas)/(fNcomps-1);
167 (*fGaus)[i] = exp(-((x*x)/2));
170 //________________________________________________________________________
171 void AliITSSimuParam::PrintParameters() const{
172 printf("GeVToCharge = %G\n",fGeVcharge);
173 printf("DistanveOverVoltage = %f \n",fDOverV);
175 printf("===== SPD parameters =====\n");
176 printf("Bias Voltage = %f \n",fSPDBiasVoltage[0]);
177 printf("Threshold and sigma = %f %f\n",fSPDThresh[0],fSPDSigma[0]);
178 printf("Coupling Option = %s\n",fSPDCouplOpt.Data());
179 printf("Coupling value (column) = %f\n",fSPDCouplCol);
180 printf("Coupling value (row) = %f\n",fSPDCouplRow);
181 printf("Eccentricity in diffusion = %f\n",fSPDEccDiff);
182 printf("Flag to add noisy = %d\n",fSPDAddNoisyFlag);
183 printf("Flag to remove dead = %d\n",fSPDRemoveDeadFlag);
185 printf("===== SDD parameters =====\n");
186 printf("Electronic chips = %d\n",fSDDElectronics);
187 printf("Diffusion Coefficients = %f %f\n",fSDDDiffCoeff,fSDDDiffCoeff1);
188 printf("Jitter Error = %f um\n",fSDDJitterError);
189 printf("Dynamic Range = %f\n",fSDDDynamicRange);
190 printf("Max. ADC = %f\n",fSDDMaxAdc);
191 printf("Charge Loss = %f\n",fSDDChargeLoss);
192 printf("Trigger Delay (ns) = %f\n",fSDDTrigDelay);
193 printf("Raw Data Format = %d\n",fSDDRawFormat);
195 printf("===== SSD parameters =====\n");
196 printf("Coupling PR = %f\n",fSSDCouplingPR);
197 printf("Coupling PL = %f\n",fSSDCouplingPL);
198 printf("Coupling NR = %f\n",fSSDCouplingNR);
199 printf("Coupling NL = %f\n",fSSDCouplingNL);
200 printf("Zero Supp threshold = %d\n",fSSDZSThreshold);
202 //______________________________________________________________________
203 Double_t AliITSSimuParam::MobilityElectronSiEmp() const {
204 // Computes the electron mobility in cm^2/volt-sec. Taken from SILVACO
205 // International ATLAS II, 2D Device Simulation Framework, User Manual
206 // Chapter 5 Equation 5-6. An empirical function for low-field mobiliity
207 // in silicon at different tempeatures.
213 // The Mobility of electrons in Si at a give temprature and impurity
214 // concentration. [cm^2/Volt-sec]
215 const Double_t km0 = 55.24; // cm^2/Volt-sec
216 const Double_t km1 = 7.12E+08; // cm^2 (degree K)^2.3 / Volt-sec
217 const Double_t kN0 = 1.072E17; // #/cm^3
218 const Double_t kT0 = 300.; // degree K.
219 const Double_t keT0 = -2.3; // Power of Temp.
220 const Double_t keT1 = -3.8; // Power of Temp.
221 const Double_t keN = 0.73; // Power of Dopent Consentrations
223 Double_t tT = fT,nN = fN;
225 if(nN<=0.0){ // Simple case.
226 if(tT==300.) return 1350.0; // From Table 5-1 at consentration 1.0E14.
227 m = km1*TMath::Power(tT,keT0);
230 m = km1*TMath::Power(tT,keT0) - km0;
231 m /= 1.0 + TMath::Power(tT/kT0,keT1)*TMath::Power(nN/kN0,keN);
235 //______________________________________________________________________
236 Double_t AliITSSimuParam::MobilityHoleSiEmp() const {
237 // Computes the Hole mobility in cm^2/volt-sec. Taken from SILVACO
238 // International ATLAS II, 2D Device Simulation Framework, User Manual
239 // Chapter 5 Equation 5-7 An empirical function for low-field mobiliity
240 // in silicon at different tempeatures.
246 // The Mobility of Hole in Si at a give temprature and impurity
247 // concentration. [cm^2/Volt-sec]
248 const Double_t km0a = 49.74; // cm^2/Volt-sec
249 const Double_t km0b = 49.70; // cm^2/Volt-sec
250 const Double_t km1 = 1.35E+08; // cm^2 (degree K)^2.3 / Volt-sec
251 const Double_t kN0 = 1.606E17; // #/cm^3
252 const Double_t kT0 = 300.; // degree K.
253 const Double_t keT0 = -2.2; // Power of Temp.
254 const Double_t keT1 = -3.7; // Power of Temp.
255 const Double_t keN = 0.70; // Power of Dopent Consentrations
257 Double_t tT = fT,nN = fN;
259 if(nN<=0.0){ // Simple case.
260 if(tT==300.) return 495.0; // From Table 5-1 at consentration 1.0E14.
261 m = km1*TMath::Power(tT,keT0) + km0a-km0b;
264 m = km1*TMath::Power(tT,keT0) - km0b;
265 m /= 1.0 + TMath::Power(tT/kT0,keT1)*TMath::Power(nN/kN0,keN);
269 //______________________________________________________________________
270 Double_t AliITSSimuParam::DiffusionCoefficientElectron() const {
271 // Computes the Diffusion coefficient for electrons in cm^2/sec. Taken
272 // from SILVACO International ATLAS II, 2D Device Simulation Framework,
273 // User Manual Chapter 5 Equation 5-53. Einstein relations for diffusion
274 // coefficient. Note: 1 cm^2/sec = 10 microns^2/nanosec.
280 // The Diffusion Coefficient of electrons in Si at a give temprature
281 // and impurity concentration. [cm^2/sec]
282 // const Double_t kb = 1.3806503E-23; // Joules/degree K
283 // const Double_t qe = 1.60217646E-19; // Coulumbs.
284 const Double_t kbqe = 8.617342312E-5; // Volt/degree K
285 Double_t m = MobilityElectronSiEmp();
288 return m*kbqe*tT; // [cm^2/sec]
290 //______________________________________________________________________
291 Double_t AliITSSimuParam::DiffusionCoefficientHole() const {
292 // Computes the Diffusion coefficient for Holes in cm^2/sec. Taken
293 // from SILVACO International ATLAS II, 2D Device Simulation Framework,
294 // User Manual Chapter 5 Equation 5-53. Einstein relations for diffusion
295 // coefficient. Note: 1 cm^2/sec = 10 microns^2/nanosec.
301 // The Defusion Coefficient of Hole in Si at a give temprature and
302 // impurity concentration. [cm^2/sec]
303 // and impurity concentration. [cm^2/sec]
304 // const Double_t kb = 1.3806503E-23; // Joules/degree K
305 // const Double_t qe = 1.60217646E-19; // Coulumbs.
306 const Double_t kbqe = 8.617342312E-5; // Volt/degree K
307 Double_t m = MobilityHoleSiEmp();
310 return m*kbqe*tT; // [cm^2/sec]
312 //______________________________________________________________________
313 Double_t AliITSSimuParam::LorentzAngleHole(Double_t B) const {
314 // Computes the Lorentz angle for electrons in Si
315 // Input: magnetic Field in KGauss
316 // Output: Lorentz angle in radians (positive if Bz is positive)
317 // Main Reference: NIM A 497 (2003) 389–396.
318 // "An algorithm for calculating the Lorentz angle in silicon detectors", V. Bartsch et al.
320 const Double_t krH=0.70; // Hall scattering factor for Hole
321 const Double_t kT0 = 300.; // reference Temperature (degree K).
322 const Double_t kmulow0 = 470.5; // cm^2/Volt-sec
323 const Double_t keT0 = -2.5; // Power of Temp.
324 const Double_t beta0 = 1.213; // beta coeff. at T0=300K
325 const Double_t keT1 = 0.17; // Power of Temp. for beta
326 const Double_t kvsat0 = 8.37E+06; // saturated velocity at T0=300K (cm/sec)
327 const Double_t keT2 = 0.52; // Power of Temp. for vsat
329 Double_t eE= 1./fDOverV;
330 Double_t muLow=kmulow0*TMath::Power(tT/kT0,keT0);
331 Double_t beta=beta0*TMath::Power(tT/kT0,keT1);
332 Double_t vsat=kvsat0*TMath::Power(tT/kT0,keT2);
333 Double_t mu=muLow/TMath::Power(1+TMath::Power(muLow*eE/vsat,beta),1/beta);
334 Double_t angle=TMath::ATan(krH*mu*B*1.E-05); // Conversion Factor
337 //______________________________________________________________________
338 Double_t AliITSSimuParam::LorentzAngleElectron(Double_t B) const {
339 // Computes the Lorentz angle for electrons in Si
340 // Input: magnetic Field in KGauss
341 // Output: Lorentz angle in radians (positive if Bz is positive)
342 // Main Reference: NIM A 497 (2003) 389–396.
343 // "An algorithm for calculating the Lorentz angle in silicon detectors", V. Bartsch et al.
345 const Double_t krH=1.15; // Hall scattering factor for Electron
346 const Double_t kT0 = 300.; // reference Temperature (degree K).
347 const Double_t kmulow0 = 1417.0; // cm^2/Volt-sec
348 const Double_t keT0 = -2.2; // Power of Temp.
349 const Double_t beta0 = 1.109; // beta coeff. at T0=300K
350 const Double_t keT1 = 0.66; // Power of Temp. for beta
351 const Double_t kvsat0 = 1.07E+07; // saturated velocity at T0=300K (cm/sec)
352 const Double_t keT2 = 0.87; // Power of Temp. for vsat
354 Double_t eE= 1./fDOverV;
355 Double_t muLow=kmulow0*TMath::Power(tT/kT0,keT0);
356 Double_t beta=beta0*TMath::Power(tT/kT0,keT1);
357 Double_t vsat=kvsat0*TMath::Power(tT/kT0,keT2);
358 Double_t mu=muLow/TMath::Power(1+TMath::Power(muLow*eE/vsat,beta),1/beta);
359 Double_t angle=TMath::ATan(krH*mu*B*1.E-05);
362 //______________________________________________________________________
363 Double_t AliITSSimuParam::SpeedElectron() const {
364 // Computes the average speed for electrons in Si under the low-field
365 // approximation. [cm/sec].
371 // The speed the holes are traveling at due to the low field applied.
373 Double_t m = MobilityElectronSiEmp();
375 return m/fDOverV; // [cm/sec]
377 //______________________________________________________________________
378 Double_t AliITSSimuParam::SpeedHole() const {
379 // Computes the average speed for Holes in Si under the low-field
380 // approximation.[cm/sec].
386 // The speed the holes are traveling at due to the low field applied.
388 Double_t m = MobilityHoleSiEmp();
390 return m/fDOverV; // [cm/sec]
392 //______________________________________________________________________
393 Double_t AliITSSimuParam::SigmaDiffusion3D(Double_t l) const {
394 // Returns the Gaussian sigma^2 == <x^2+y^2+z^2> [cm^2] due to the
395 // defusion of electrons or holes through a distance l [cm] caused
396 // by an applied voltage v [volt] through a distance d [cm] in any
397 // material at a temperature T [degree K]. The sigma diffusion when
398 // expressed in terms of the distance over which the diffusion
399 // occures, l=time/speed, is independent of the mobility and therefore
400 // the properties of the material. The charge distributions is given by
401 // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <r^2> = 6Dt where D=mkT/e
402 // (m==mobility, k==Boltzman's constant, T==temparature, e==electric
403 // charge. and vel=m*v/d. consiquently sigma^2=6kTdl/ev.
405 // Double_t l Distance the charge has to travel.
409 // The Sigma due to the diffution of electrons. [cm]
410 const Double_t kcon = 5.17040258E-04; // == 6k/e [J/col or volts]
412 return TMath::Sqrt(kcon*fT*fDOverV*l); // [cm]
414 //______________________________________________________________________
415 Double_t AliITSSimuParam::SigmaDiffusion2D(Double_t l) const {
416 // Returns the Gaussian sigma^2 == <x^2+z^2> [cm^2] due to the defusion
417 // of electrons or holes through a distance l [cm] caused by an applied
418 // voltage v [volt] through a distance d [cm] in any material at a
419 // temperature T [degree K]. The sigma diffusion when expressed in terms
420 // of the distance over which the diffusion occures, l=time/speed, is
421 // independent of the mobility and therefore the properties of the
422 // material. The charge distributions is given by
423 // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <x^2+z^2> = 4Dt where D=mkT/e
424 // (m==mobility, k==Boltzman's constant, T==temparature, e==electric
425 // charge. and vel=m*v/d. consiquently sigma^2=4kTdl/ev.
427 // Double_t l Distance the charge has to travel.
431 // The Sigma due to the diffution of electrons. [cm]
432 const Double_t kcon = 3.446935053E-04; // == 4k/e [J/col or volts]
434 return TMath::Sqrt(kcon*fT*fDOverV*l); // [cm]
436 //______________________________________________________________________
437 Double_t AliITSSimuParam::SigmaDiffusion1D(Double_t l) const {
438 // Returns the Gaussian sigma^2 == <x^2> [cm^2] due to the defusion
439 // of electrons or holes through a distance l [cm] caused by an applied
440 // voltage v [volt] through a distance d [cm] in any material at a
441 // temperature T [degree K]. The sigma diffusion when expressed in terms
442 // of the distance over which the diffusion occures, l=time/speed, is
443 // independent of the mobility and therefore the properties of the
444 // material. The charge distributions is given by
445 // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <r^2> = 2Dt where D=mkT/e
446 // (m==mobility, k==Boltzman's constant, T==temparature, e==electric
447 // charge. and vel=m*v/d. consiquently sigma^2=2kTdl/ev.
449 // Double_t l Distance the charge has to travel.
453 // The Sigma due to the diffution of electrons. [cm]
454 const Double_t kcon = 1.723467527E-04; // == 2k/e [J/col or volts]
456 return TMath::Sqrt(kcon*fT*fDOverV*l); // [cm]
458 //----------------------------------------------------------------------
459 Double_t AliITSSimuParam::DepletedRegionThicknessA(Double_t dopCons,
462 Double_t voltBuiltIn)const{
463 // Computes the thickness of the depleted region in Si due to the
464 // application of an external bias voltage. From the Particle Data
465 // Book, 28.8 Silicon semiconductor detectors equation 28.19 (2004)
466 // Physics Letters B "Review of Particle Physics" Volume 592, Issue 1-4
467 // July 15 2004, ISSN 0370-2693 page 263. First equation.
469 // Double_t dopCons "N" doping concentration
470 // Double_t voltage "V" external bias voltage
471 // Double_t elecCharge "e" electronic charge
472 // Double_t voltBuiltIn=0.5 "V_bi" "built-in" Voltage (~0.5V for
473 // resistivities typically used in detectors)
477 // The thickness of the depleted region
479 return TMath::Sqrt(2.0*(voltage+voltBuiltIn)/(dopCons*elecCharge));
481 //----------------------------------------------------------------------
482 Double_t AliITSSimuParam::DepletedRegionThicknessB(Double_t resist,
485 Double_t voltBuiltIn,
486 Double_t dielConst)const{
487 // Computes the thickness of the depleted region in Si due to the
488 // application of an external bias voltage. From the Particle Data
489 // Book, 28.8 Silicon semiconductor detectors equation 28.19 (2004)
490 // Physics Letters B "Review of Particle Physics" Volume 592, Issue 1-4
491 // July 15 2004, ISSN 0370-2693 page 263. Second Equation.
493 // Double_t resist "rho" resistivity (typically 1-10 kOhm cm)
494 // Double_t voltage "V" external bias voltage
495 // Double_t mobility "mu" charge carrier mobility
496 // (electons 1350, holes 450 cm^2/V/s)
497 // Double_t voltBuiltIn=0.5 "V_bi" "built-in" Voltage (~0.5V for
498 // resistivities typically used in detectors)
499 // Double_t dielConst=1.E-12 "epsilon" dielectric constant = 11.9 *
500 // (permittivity of free space) or ~ 1 pF/cm
504 // The thickness of the depleted region
506 return TMath::Sqrt(2.8*resist*mobility*dielConst*(voltage+voltBuiltIn));
508 //----------------------------------------------------------------------
509 Double_t AliITSSimuParam::ReverseBiasCurrent(Double_t temp,
510 Double_t revBiasCurT1,
512 Double_t energy)const{
513 // Computes the temperature dependance of the reverse bias current
514 // of Si detectors. From the Particle Data
515 // Book, 28.8 Silicon semiconductor detectors equation 28.21 (2004)
516 // Physics Letters B "Review of Particle Physics" Volume 592, Issue 1-4
517 // July 15 2004, ISSN 0370-2693 page 263.
519 // Double_t temp The temperature at which the current is wanted
520 // Double_t revBiasCurT1 The reference bias current at temp T1
521 // Double_t tempT1 The temperature correstponding to revBiasCurT1
522 // Double_t energy=1.2 Some energy [eV]
526 // The reverse bias current at the tempeature temp.
527 const Double_t kBoltz = 8.617343E-5; //[eV/K]
529 return revBiasCurT1*(temp*temp/(tempT1*tempT1))*
530 TMath::Exp(-0.5*energy*(tempT1-temp)/(kBoltz*tempT1*temp));
532 //______________________________________________________________________
533 void AliITSSimuParam::SPDThresholds(const Int_t mod, Double_t& thresh, Double_t& sigma) const {
534 if(mod<0 || mod>239) {
539 thresh=fSPDThresh[mod];
540 sigma=fSPDSigma[mod];
543 //_______________________________________________________________________
544 void AliITSSimuParam::SPDNoise(const Int_t mod,Double_t &noise, Double_t &baseline) const {
545 if(mod<0 || mod>239) {
550 noise=fSPDNoise[mod];
551 baseline=fSPDBaseline[mod];