51 Double_t temperature) {
54 Double_t kB = TMath::K() / TMath::Qe();
57 Double_t i20 = fIAlpha * fluence * volume;
60 Double_t eGap = fEGap0
61 - fEGapAlpha * temperature * temperature / ( temperature + fEGapBeta);
64 Double_t exponent = -1. * eGap / 2. / kB * ( 1./temperature - 1./293.);
65 Double_t iLeak = i20 * temperature * temperature / 85849.
66 * TMath::Exp(exponent);
79 energy = energy * 1000.;
81 map<Double_t, Double_t>* table = NULL;
82 Int_t atype = TMath::Abs(type);
86 case 2112: table = &niel_neutron;
break;
87 case 2212: table = &niel_proton;
break;
88 case 211: table = &niel_pion;
break;
89 case 11: table = &niel_electron;
break;
90 default: table = NULL;
94 if ( ! table )
return 0.;
97 map<Double_t, Double_t>::iterator it = table->upper_bound(energy);
100 if ( it == table->begin() ) {
106 if ( it == table->end() ) {
109 case 2112:
return 0.44;
break;
110 case 2212:
return 0.50;
break;
111 case 211:
return 0.38;
break;
112 case 11:
return 0.08;
break;
113 default:
return 0.00;
break;
118 Double_t e2 = (*it).first;
119 Double_t v2 = (*it).second;
121 Double_t e1 = (*it).first;
122 Double_t v1 = (*it).second;
124 Double_t
v = v1 + (v2-v1) * (energy-e1) / (e2-e1);
138 Double_t corr1 = 0.7 * fNeff0
139 * ( 1. - TMath::Exp(-1. * fNeffC * fluence) );
140 Double_t corr2 = fNeffGc * fluence;
141 Double_t nEff = fNeff0 - corr1 - corr2;
144 Double_t vfd = TMath::Qe() * nEff *
d *
d / 2. / fEpsilon;