![]() |
ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
|
00001 #include "HalfLifeEstimator.h" 00002 00003 HalfLifeEstimator::HalfLifeEstimator() 00004 { 00005 00006 } 00007 00008 00009 double HalfLifeEstimator::estimateHalfLife(double QValueInMeV, unsigned short int A, unsigned short int Z) 00010 { 00011 //cout << "ehl:" << QValueInMeV << " " << A << " " << " " << Z << " " << endl; 00012 double MassInMeV = ONEU*HEMASS; 00013 double MassInKg = HEMASS*ONEUKG; 00014 double separation = 1.25*(pow((double)4,(double)1/3)+pow((double)(A-4),(double)1/3)); 00015 //cout << "separation:" << separation << endl; 00016 double barrierHeight = 2*(Z-2)*1.44/separation; 00017 //cout << "mass:" << MassInMeV << endl; 00018 //cout << "brh:" << barrierHeight << endl; 00019 double dropDistance = barrierHeight/QValueInMeV; 00020 //double barrierWidth = dropDistance - separation; 00021 //cout << MassInMeV << endl; 00022 double velocity = sqrt(2 * QValueInMeV * pow(SPEEDOFLIGHT,2) / MassInMeV); 00023 //cout << "velo:" << velocity << endl; 00024 double frequency = velocity / (2 * separation * 1E-15); 00025 //cout << "freq:" << frequency << endl; 00026 double x = QValueInMeV / barrierHeight; 00027 //cout << "x:" << x << endl; 00028 //cout << "massinkg:" << MassInKg << endl; 00029 double G = sqrt(2*MassInKg/(pow(HBAR,2)*(QValueInMeV*MEVTOJ)))*2*(Z-2)*KKONST*pow(ELEMENTARYCHARGE,2)*(acos(sqrt(x))-sqrt(x*(1-x))); 00030 //cout << "G:" << G << endl; 00031 double P = exp(-2*G); 00032 //cout << "P:" << P << endl; 00033 double l = frequency*P; 00034 //cout << "l:" << l << endl; 00035 double Thalf=log(2)/l; 00036 //cout << "Thalf:" << Thalf << endl; 00037 return Thalf; 00038 }