diff --git a/NPLib/Physics/NPNucleus.cxx b/NPLib/Physics/NPNucleus.cxx
index fe4da01a5bd47d51f35c405d8f61f95d58643f8f..57e59fbf05966ee59b71232c1259411a8d666938 100644
--- a/NPLib/Physics/NPNucleus.cxx
+++ b/NPLib/Physics/NPNucleus.cxx
@@ -58,6 +58,7 @@ Nucleus::Nucleus()
   fSpinParity= "";
   fSpin= 0;
   fParity= "";
+  fLifeTime = -1;
 }
 
 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 
@@ -166,6 +167,51 @@ void Nucleus::Extract(const char* line)
   string s_excess = ligne.substr(18,10);
   fMassExcess = atof(s_excess.data());
 
+  // life time
+  string s_lt_units = ligne.substr(69,3); 
+  string s_LifeTime = ligne.substr(57,12);
+  // Remove space
+  s_LifeTime.erase( std::remove_if( s_LifeTime.begin(), s_LifeTime.end(), ::isspace ), s_LifeTime.end() );
+  s_lt_units.erase( std::remove_if( s_lt_units.begin(), s_lt_units.end(), ::isspace ), s_lt_units.end() );
+
+  if(s_LifeTime=="stbl")
+    fLifeTime=-1;
+  else
+    fLifeTime=atof(s_LifeTime.data());
+
+  if(s_lt_units=="ms")
+    fLifeTime*=1e-3;
+  else if(s_lt_units=="us")
+    fLifeTime*=1e-6;
+  else if(s_lt_units=="ns")
+    fLifeTime*=1e-9;
+  else if(s_lt_units=="ps")
+    fLifeTime*=1e-12;
+  else if(s_lt_units=="fs")
+    fLifeTime*=1e-15;
+  else if(s_lt_units=="as")
+    fLifeTime*=1e-18;
+  else if(s_lt_units=="zs")
+    fLifeTime*=1e-21;
+  else if(s_lt_units=="zs")
+    fLifeTime*=1e-23;
+  else if(s_lt_units=="m")
+    fLifeTime*=60;
+  else if(s_lt_units=="h")
+    fLifeTime*=3600;
+  else if(s_lt_units=="d")
+    fLifeTime*=3600*24;
+  else if(s_lt_units=="y")
+    fLifeTime*=3600*24*365.25;
+  else if(s_lt_units=="ky")
+    fLifeTime*=3600*24*365.25*1e3;
+  else if(s_lt_units=="My")
+    fLifeTime*=3600*24*365.25*1e6;
+  else if(s_lt_units=="Gy")
+    fLifeTime*=3600*24*365.25*1e9;
+  else if(s_lt_units=="Py")
+    fLifeTime*=3600*24*365.25*1e12;
+  
   // spin and parity
   string s_spinparity = ligne.substr(79,14);
   fSpinParity = s_spinparity.data();
diff --git a/NPLib/Physics/NPNucleus.h b/NPLib/Physics/NPNucleus.h
index 886b492787a1471d74f95887c9245ecc1c242625..e70800e2f5aaec206741fc80e0f82d8ff9f54709 100644
--- a/NPLib/Physics/NPNucleus.h
+++ b/NPLib/Physics/NPNucleus.h
@@ -58,7 +58,9 @@ namespace NPL {
     const char* fSpinParity;   // Nucleus spin and parity
     double      fSpin;         // Nucleus spin
     const char* fParity;      // Nucleus parity
-                              //kinematic properties
+    double      fLifeTime; // life time
+
+    //kinematic properties
     double fKineticEnergy;
     double fBeta;
     double fGamma;
@@ -93,6 +95,7 @@ namespace NPL {
     const char*		GetSpinParity()		const				{return fSpinParity;}
     double			GetSpin()			const				{return fSpin;}
     const char*		GetParity()			const				{return fParity;}
+    double      GetLifeTime() const {return fLifeTime;}
     double			GetEnergy()			const				{return fKineticEnergy;}
     double			GetBrho()			const				{return fBrho;}
     double			GetTimeOfFlight()	const				{return fTimeOfFlight;}
@@ -107,6 +110,7 @@ namespace NPL {
     void				SetSpinParity(const char* spinparity)	{fSpinParity = spinparity;}
     void				SetSpin(double spin)					{fSpin = spin;}
     void				SetParity(const char* parity)			{fParity = parity;}
+    void        SetLifeTime(double LifeTime) {fLifeTime=LifeTime;}
     void				SetKineticEnergy(double energy)			{fKineticEnergy = energy; EnergyToBrho(); EnergyToTof(); EnergyToBeta(); BetaToGamma();BetaToVelocity();}
     void				SetBrho(double brho)					{fBrho = brho; BrhoToEnergy(); BrhoToTof(); EnergyToBeta(); BetaToGamma();BetaToVelocity();}
     void				SetTimeOfFlight(double tof)				{fTimeOfFlight = tof; TofToEnergy(); TofToBrho(); EnergyToBeta(); BetaToGamma();BetaToVelocity();}