16#include "KVParticle.h"
17#include "KVNumberList.h"
192#if ROOT_VERSION_CODE >= ROOT_VERSION(3,4,0)
208 return !(
fZ == 0 &&
fA == 0);
211 virtual ~ KVNucleus();
#define ClassDef(name, id)
Value of the relative abundance of isotopes.
Simple class for storing charge radius information of nuclei.
Simple class to store lifetime information of nucleus.
Simple class for store life time information of nucleus.
Description of properties and kinematics of atomic nuclei.
UChar_t fZ
nuclear charge number (atomic number)
Double_t ShimaChargeStatePrecision() const
static Double_t hbar
hbar*c in MeV.fm
virtual void Clear(Option_t *opt="")
const Char_t * GetSymbol(Option_t *opt="") const
void SetExcitEnergy(Double_t e)
Double_t GetExtraChargeRadius(Int_t z=-1, Int_t a=-1, Int_t rct=2) const
static Double_t LiquidDrop_BrackGuet(UInt_t A, UInt_t Z)
Double_t GetWidth() const
static Double_t TKE_Viola1985(Double_t z, Double_t a)
from: V. E. Viola, K. Kwiatkowski, and M. Walker, Physical Review C 31, 1550 (1985).
void CheckZAndA(Int_t &z, Int_t &a) const
static Int_t GetNFromZ(Double_t, Char_t mt)
Calculate neutron number from the element's atomic number Z.
UChar_t fA
nuclear mass number
Bool_t IsKnown(int z=-1, int a=-1) const
static Double_t GetRealAFromZ(Double_t, Char_t mt)
Double_t GetSpin(Int_t z=-1, Int_t a=-1) const
Double_t GetExcitEnergy() const
Int_t Compare(const TObject *obj) const
Double_t GetFissionTKE(const KVNucleus *nuc=0, Int_t formula=kDefaultFormula) const
Double_t GetMassExcess(Int_t z=-1, Int_t a=-1) const
Bool_t IsSortable() const
KVMassExcess * GetMassExcessPtr(Int_t z=-1, Int_t a=-1) const
KVAbundance * GetAbundancePtr(Int_t z=-1, Int_t a=-1) const
static Double_t GetRealNFromZ(Double_t, Char_t mt)
KVNucleus operator+(const KVNucleus &rhs)
virtual void Print(Option_t *t="") const
Display nucleus parameters.
void SetZandN(Int_t z, Int_t n)
Set atomic number and mass number.
static Int_t IsMassGiven(const Char_t *)
KVNucleus & operator=(const KVNucleus &rhs)
KVNucleus assignment operator.
Double_t GetMassGS() const
static Double_t kMe
electron mass in MeV/c2
void SetZ(Int_t z, Char_t mt=-1)
Double_t LiquidDrop_Weizsacker()
Int_t GetMostAbundantA(Int_t z=-1) const
KVNucleus & operator+=(const KVNucleus &rhs)
KVNucleus addition and assignment operator.
Double_t GetNaturalA(Int_t zz=-1) const
Double_t GetFissionVelocity(KVNucleus *nuc=0, Int_t formula=kDefaultFormula)
static Double_t TKE_Itkis1998(Double_t z, Double_t a)
Int_t GetAWithMaxBindingEnergy(Int_t z=-1)
KVNumberList GetKnownARange(Int_t z=-1, Double_t tmin=0) const
Double_t GetNsurZ() const
Double_t GetExtraMassExcess(Int_t z=-1, Int_t a=-1) const
Double_t GetChargeAsymetry() const
static Double_t e2
e^2/(4.pi.epsilon_0) in MeV.fm
Bool_t IsElement(Int_t Z) const
Double_t GetAsurZ() const
Double_t GetRelativeVelocity(KVNucleus *nuc)
Return the reltive velocity between nuc and this in cm/ns.
const Char_t * GetIsotopesList(Int_t zmin, Int_t zmax, Double_t tmin=0) const
Double_t GetBindingEnergyPerNucleon(Int_t z=-1, Int_t a=-1) const
Returns binding energy in MeV/A for this nucleus.
virtual void Copy(TObject &) const
Copy this KVNucleus into the KVNucleus object referenced by "obj".
Int_t GetN() const
Return the number of neutron.
KVNucleus & operator-=(const KVNucleus &rhs)
KVNucleus subtraction and assignment operator.
Bool_t IsIsotope(Int_t Z, Int_t A) const
KVSpinParity * GetSpinParityPtr(Int_t z=-1, Int_t a=-1) const
static UInt_t fNb_nuc
counts number of existing KVNucleus objects
Bool_t IsResonance() const
Double_t DeduceEincFromBrho(Double_t Brho, Int_t ChargeState=0)
TH2F* GetKnownNucleiChart(KVString method="GetBindingEnergyPerNucleon");.
Double_t ShimaChargeState(Int_t) const
static Double_t kAMU
atomic mass unit in MeV
int SetZFromSymbol(const Char_t *)
void SetZandA(Int_t z, Int_t a)
Set atomic number and mass number.
const Char_t * GetLatexSymbol(Option_t *opt="") const
Int_t GetNpairs(Int_t type=kNN) const
KVNumberList GetMeasuredARange(Int_t z=-1) const
returns range of a measured mass for a given element
void SetZAandE(Int_t z, Int_t a, Double_t ekin)
Set atomic number, mass number, and kinetic energy in MeV.
Double_t GetQFasymTKE(KVNucleus *target)
KVChargeRadius * GetChargeRadiusPtr(Int_t z=-1, Int_t a=-1) const
static Double_t TKE_Hinde1987(Double_t z1, Double_t a1, Double_t z2, Double_t a2)
Double_t GetAbundance(Int_t z=-1, Int_t a=-1) const
static Int_t GetZFromSymbol(const Char_t *)
KVLifeTime * GetLifeTimePtr(Int_t z=-1, Int_t a=-1) const
Double_t GetEnergyPerNucleon() const
static Char_t fElements[][3]
symbols of chemical elements
void SetMassFormula(UChar_t mt)
Double_t GetParity(Int_t z=-1, Int_t a=-1) const
static Int_t GetAFromZ(Double_t, Char_t mt)
Double_t GetAtomicMass(Int_t zz=-1, Int_t aa=-1) const
Bool_t IsStable(Double_t min_lifetime=1.0e+15) const
UChar_t fMassFormula
mass formula for calculating A from Z
Double_t GetBindingEnergy(Int_t z=-1, Int_t a=-1) const
Int_t GetZ() const
Return the number of proton / atomic number.
Double_t GetLiquidDropBindingEnergy(Int_t z=-1, Int_t a=-1) const
static Double_t TKE_Viola1966(Double_t z, Double_t a)
from: V. E. Viola, Jr., Nuclear Data Sheets. Section A 1, 391 (1965).
static Double_t TKE_Kozulin2014(Double_t zp, Double_t zt, Double_t ap, Double_t at)
Double_t GetChargeRadius(Int_t z=-1, Int_t a=-1) const
Double_t GetLifeTime(Int_t z=-1, Int_t a=-1) const
Int_t GetMassFormula() const
Strings used to represent a set of ranges of values.
Base class for relativistic kinematics of massive particles.
Spin parity assignment of nuclear levels.
TLorentzVector operator-() const