ENSDF++ 1.1
An easy, fast and simple way to run querys towards the ENSDF database, written in C++.
Public Member Functions
HalfLifeEstimator Class Reference

Estimates the half life for alpha decay using Geiger Nutall. More...

#include <HalfLifeEstimator.h>

List of all members.

Public Member Functions

 HalfLifeEstimator ()
 Constructor.
double estimateHalfLife (double QValueInMeV, unsigned short int A, unsigned short int Z)
 Estimates the half life, returns a value in seconds. Estimation through alpha decay, of course.

Detailed Description

Estimates the half life for alpha decay using Geiger Nutall.

Author:
Rikard Lundmark

Definition at line 55 of file HalfLifeEstimator.h.


Member Function Documentation

double HalfLifeEstimator::estimateHalfLife ( double  QValueInMeV,
unsigned short int  A,
unsigned short int  Z 
)

Estimates the half life, returns a value in seconds. Estimation through alpha decay, of course.

Parameters:
QValueInMeVQValue in MeV
AAtomic mass
ZAtomic number (charge)

Definition at line 9 of file HalfLifeEstimator.cpp.

References ELEMENTARYCHARGE, HBAR, HEMASS, KKONST, ONEU, ONEUKG, and SPEEDOFLIGHT.

Referenced by main().

{
  //cout << "ehl:" << QValueInMeV << " " << A << " " << " " << Z << " " << endl;
  double MassInMeV = ONEU*HEMASS;
  double MassInKg =  HEMASS*ONEUKG;
  double separation = 1.25*(pow((double)4,(double)1/3)+pow((double)(A-4),(double)1/3));
  //cout << "separation:" << separation << endl;
  double barrierHeight = 2*(Z-2)*1.44/separation;
  //cout << "mass:" << MassInMeV << endl;
  //cout << "brh:" << barrierHeight << endl;
  double dropDistance = barrierHeight/QValueInMeV;
  //double barrierWidth = dropDistance - separation;
  //cout << MassInMeV << endl;
  double velocity = sqrt(2 * QValueInMeV * pow(SPEEDOFLIGHT,2) / MassInMeV);
  //cout << "velo:" << velocity << endl;
  double frequency = velocity / (2 * separation * 1E-15);
  //cout << "freq:" << frequency << endl;
  double x = QValueInMeV / barrierHeight;
  //cout << "x:" << x << endl;
  //cout << "massinkg:" << MassInKg << endl;
  double G = sqrt(2*MassInKg/(pow(HBAR,2)*(QValueInMeV*MEVTOJ)))*2*(Z-2)*KKONST*pow(ELEMENTARYCHARGE,2)*(acos(sqrt(x))-sqrt(x*(1-x)));
  //cout << "G:" << G << endl;
  double P = exp(-2*G);
  //cout << "P:" << P << endl;
  double l = frequency*P;
  //cout << "l:" << l << endl;
  double Thalf=log(2)/l;
  //cout << "Thalf:" << Thalf << endl;
  return Thalf;
}

The documentation for this class was generated from the following files:
 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