- return TMath::Sqrt(kcon*fT*fdv*l); // [cm]
-}
-//______________________________________________________________________
-Double_t AliITSresponse::SigmaDiffusion2D(Double_t l) const {
- // Returns the Gaussian sigma^2 == <x^2+z^2> [cm^2] due to the defusion
- // of electrons or holes through a distance l [cm] caused by an applied
- // voltage v [volt] through a distance d [cm] in any material at a
- // temperature T [degree K]. The sigma diffusion when expressed in terms
- // of the distance over which the diffusion occures, l=time/speed, is
- // independent of the mobility and therefore the properties of the
- // material. The charge distributions is given by
- // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <x^2+z^2> = 4Dt where D=mkT/e
- // (m==mobility, k==Boltzman's constant, T==temparature, e==electric
- // charge. and vel=m*v/d. consiquently sigma^2=4kTdl/ev.
- // Inputs:
- // Double_t l Distance the charge has to travel.
- // Output:
- // none.
- // Return:
- // The Sigma due to the diffution of electrons. [cm]
- const Double_t kcon = 3.446935053E-04; // == 4k/e [J/col or volts]
-
- return TMath::Sqrt(kcon*fT*fdv*l); // [cm]
-}
-//______________________________________________________________________
-Double_t AliITSresponse::SigmaDiffusion1D(Double_t l) const {
- // Returns the Gaussian sigma^2 == <x^2> [cm^2] due to the defusion
- // of electrons or holes through a distance l [cm] caused by an applied
- // voltage v [volt] through a distance d [cm] in any material at a
- // temperature T [degree K]. The sigma diffusion when expressed in terms
- // of the distance over which the diffusion occures, l=time/speed, is
- // independent of the mobility and therefore the properties of the
- // material. The charge distributions is given by
- // n = exp(-r^2/4Dt)/(4piDt)^1.5. From this <r^2> = 2Dt where D=mkT/e
- // (m==mobility, k==Boltzman's constant, T==temparature, e==electric
- // charge. and vel=m*v/d. consiquently sigma^2=2kTdl/ev.
- // Inputs:
- // Double_t l Distance the charge has to travel.
- // Output:
- // none.
- // Return:
- // The Sigma due to the diffution of electrons. [cm]
- const Double_t kcon = 1.723467527E-04; // == 2k/e [J/col or volts]
-
- return TMath::Sqrt(kcon*fT*fdv*l); // [cm]
-}
-//----------------------------------------------------------------------
-Double_t AliITSresponse::DepletedRegionThicknessA(Double_t dopCons,
- Double_t voltage,
- Double_t elecCharge,
- Double_t voltBuiltIn)const{
- // Computes the thickness of the depleted region in Si due to the
- // application of an external bias voltage. From the Particle Data
- // Book, 28.8 Silicon semiconductor detectors equation 28.19 (2004)
- // Physics Letters B "Review of Particle Physics" Volume 592, Issue 1-4
- // July 15 2004, ISSN 0370-2693 page 263. First equation.
- // Inputs:
- // Double_t dopCons "N" doping concentration
- // Double_t voltage "V" external bias voltage
- // Double_t elecCharge "e" electronic charge
- // Double_t voltBuiltIn=0.5 "V_bi" "built-in" Voltage (~0.5V for
- // resistivities typically used in detectors)
- // Output:
- // none.
- // Return:
- // The thickness of the depleted region
-
- return TMath::Sqrt(2.0*(voltage+voltBuiltIn)/(dopCons*elecCharge));
-}
-//----------------------------------------------------------------------
-Double_t AliITSresponse::DepletedRegionThicknessB(Double_t resist,
- Double_t voltage,
- Double_t mobility,
- Double_t voltBuiltIn,
- Double_t dielConst)const{
- // Computes the thickness of the depleted region in Si due to the
- // application of an external bias voltage. From the Particle Data
- // Book, 28.8 Silicon semiconductor detectors equation 28.19 (2004)
- // Physics Letters B "Review of Particle Physics" Volume 592, Issue 1-4
- // July 15 2004, ISSN 0370-2693 page 263. Second Equation.
- // Inputs:
- // Double_t resist "rho" resistivity (typically 1-10 kOhm cm)
- // Double_t voltage "V" external bias voltage
- // Double_t mobility "mu" charge carrier mobility
- // (electons 1350, holes 450 cm^2/V/s)
- // Double_t voltBuiltIn=0.5 "V_bi" "built-in" Voltage (~0.5V for
- // resistivities typically used in detectors)
- // Double_t dielConst=1.E-12 "epsilon" dielectric constant = 11.9 *
- // (permittivity of free space) or ~ 1 pF/cm
- // Output:
- // none.
- // Return:
- // The thickness of the depleted region
-
- return TMath::Sqrt(2.8*resist*mobility*dielConst*(voltage+voltBuiltIn));
-}
-//----------------------------------------------------------------------
-Double_t AliITSresponse::ReverseBiasCurrent(Double_t temp,
- Double_t revBiasCurT1,
- Double_t tempT1,
- Double_t energy)const{
- // Computes the temperature dependance of the reverse bias current
- // of Si detectors. From the Particle Data
- // Book, 28.8 Silicon semiconductor detectors equation 28.21 (2004)
- // Physics Letters B "Review of Particle Physics" Volume 592, Issue 1-4
- // July 15 2004, ISSN 0370-2693 page 263.
- // Inputs:
- // Double_t temp The temperature at which the current is wanted
- // Double_t revBiasCurT1 The reference bias current at temp T1
- // Double_t tempT1 The temperature correstponding to revBiasCurT1
- // Double_t energy=1.2 Some energy [eV]
- // Output:
- // none.
- // Return:
- // The reverse bias current at the tempeature temp.
- const Double_t kBoltz = 8.617343E-5; //[eV/K]
-
- return revBiasCurT1*(temp*temp/(tempT1*tempT1))*
- TMath::Exp(-0.5*energy*(tempT1-temp)/(kBoltz*tempT1*temp));
-}
-//----------------------------------------------------------------------
-void AliITSresponse::Print(ostream *os) const {
- // Standard output format for this class.
- // Inputs:
- *os << fdv << " " << fN << " " << fT << " ";
- *os << fGeVcharge;
- // printf("%-10.6e %-10.6e %-10.6e %-10.6e \n",fdv,fN,fT,fGeVcharge);
- return;
-}
-//----------------------------------------------------------------------
-void AliITSresponse::Read(istream *is) {
- // Standard input format for this class.
- // Inputs:
- // ostream *is Pointer to the output stream
- // Outputs:
- // none:
- // Return:
- // none.
-
- *is >> fdv >> fN >> fT >> fGeVcharge;
- return;
-}
-//----------------------------------------------------------------------
-
-ostream &operator<<(ostream &os,AliITSresponse &p){
- // Standard output streaming function.
- // Inputs:
- // ostream *os Pointer to the output stream
- // Outputs:
- // none:
- // Return:
- // none.
-
- p.Print(&os);
- return os;
-}
-
-//----------------------------------------------------------------------
-istream &operator>>(istream &is,AliITSresponse &r){
- // Standard input streaming function.
- // Inputs:
- // ostream *os Pointer to the output stream
- // Outputs:
- // none:
- // Return:
- // none.
-
- r.Read(&is);
- return is;
-}
-//----------------------------------------------------------------------