ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
HalfLifeEstimator.cpp
Go to the documentation of this file.
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 }
 All Classes Files Functions Variables Enumerations Enumerator Defines

Back to the main page of the Precalibrated Ion Beam Identification Detector project

Created by Rikard Lundmark