KaliVeda
Toolkit for HIC analysis
|
Description of properties and kinematics of atomic nuclei.
Create an alpha particle, and find its binding energy, mass, and mass excess:
Using the same object we can also obtain binding energies and mass excesses for all other nuclei:
We can also create nuclei by only specifying the atomic number Z. In this case the mass number A is calculated from Z:
Z and A can be specified separately:
The value of the atomic mass unit, u, is given by KVNucleus::kAMU or KVNucleus::u() It is 931.494 043 x 10**6 eV, as per the 2002 CODATA recommended values (Reviews of Modern Physics 77, 1-107 (2005)).
The '+', '-' and '=' operators have been redefined for the KVNucleus class. One can therefore perform "nuclear arithmetic". Example:
The Z, A, momentum and excitation energy of 'c' are calculated from the appropriate conservation laws. The mass excesses of the 3 nuclei are obviously taken into consideration.
If 'a' and 'b' are projectile and target, 'c' is the compound nucleus after fusion.
In order to perform calorimetry (calculation of source characteristics from daughter nuclei) one need only sum all nuclei associated with the source. The resulting nucleus is the source nucleus with its Z, A, momentum and excitation energy.
The subtraction operator allows to perform energy balance for a binary splitting of a nucleus. Example:
In this case, the resulting nucleus 'd' should be identical to 'a' in the first example. One could also imagine
where 'alpha' is a KVNucleus alpha-particle, for which we specify the momentum after emission. The resulting nucleus 'e' is the residue of the fusion compound after evaporation of an alpha particle.
The operators '+=' and '-=' also exist. 'a+=b' means 'a = a + b' etc.
Different mass tables can be implemented using classes derived from KVMassTable. The mass table to be used is defined by environment variable
where 'MyMassExcessTable' must be defined in terms of a KVNuclDataTable plugin:
Definition at line 126 of file KVNucleus.h.
#include <KVNucleus.h>
Public Types | |
enum | { kBetaMass , kVedaMass , kEALMass , kEALResMass , kEPAXMass } |
enum | { kLDModel , kEMPFunc , kELTON } |
enum | { kDefaultFormula , kItkis1998 , kHinde1987 , kViola1985 , kViola1966 } |
enum | { kNN , knn , kpp , knp } |
Public Types inherited from KVParticle | |
enum | { kIsOK = BIT(14) , kIsOKSet = BIT(15) , kIsDetected = BIT(16) } |
Public Types inherited from TLorentzVector | |
typedef Double_t | Scalar |
Public Types inherited from TObject | |
enum | EDeprecatedStatusBits |
enum | EStatusBits |
Static Public Member Functions | |
static Int_t | GetAFromZ (Double_t, Char_t mt) |
static Int_t | GetNFromZ (Double_t, Char_t mt) |
Calculate neutron number from the element's atomic number Z. | |
static Double_t | GetRealAFromZ (Double_t, Char_t mt) |
static Double_t | GetRealNFromZ (Double_t, Char_t mt) |
static Int_t | GetZFromSymbol (const Char_t *) |
static Int_t | IsMassGiven (const Char_t *) |
static Double_t | LiquidDrop_BrackGuet (UInt_t A, UInt_t Z) |
static Double_t | TKE_Hinde1987 (Double_t z1, Double_t a1, Double_t z2, Double_t a2) |
static Double_t | TKE_Itkis1998 (Double_t z, Double_t a) |
static Double_t | TKE_Kozulin2014 (Double_t zp, Double_t zt, Double_t ap, Double_t at) |
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_Viola1985 (Double_t z, Double_t a) |
from: V. E. Viola, K. Kwiatkowski, and M. Walker, Physical Review C 31, 1550 (1985). | |
static Double_t | u (void) |
Static Public Member Functions inherited from KVParticle | |
static Double_t | C () |
Static Public Member Functions inherited from TLorentzVector | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
static Bool_t | GetObjectStat () |
static void | SetDtorOnly (void *obj) |
static void | SetObjectStat (Bool_t stat) |
Static Public Attributes | |
static Double_t | e2 = KVNucleus::hbar / 137.035999074 |
e^2/(4.pi.epsilon_0) in MeV.fm | |
static Double_t | hbar = TMath::Hbarcgs() * TMath::Ccgs() / TMath::Qe() |
hbar*c in MeV.fm | |
static Double_t | kAMU = 9.31494043e02 |
atomic mass unit in MeV | |
static Double_t | kMe = 0.510998 |
electron mass in MeV/c2 | |
Private Types | |
enum | { kIsHeavy = BIT(17) } |
Private Attributes | |
UChar_t | fA |
nuclear mass number | |
UChar_t | fMassFormula |
mass formula for calculating A from Z | |
TString | fSymbolName |
UChar_t | fZ |
nuclear charge number (atomic number) | |
Static Private Attributes | |
static Char_t | fElements [][3] |
symbols of chemical elements | |
static UInt_t | fNb_nuc = 0 |
counts number of existing KVNucleus objects | |
Additional Inherited Members | |
Public Attributes inherited from TLorentzVector | |
kNUM_COORDINATES | |
kSIZE | |
kT | |
kX | |
kY | |
kZ | |
Public Attributes inherited from TObject | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
Protected Attributes inherited from TObject | |
kOnlyPrepStep | |
|
private |
Enumerator | |
---|---|
kIsHeavy |
Definition at line 137 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kBetaMass | |
kVedaMass | |
kEALMass | |
kEALResMass | |
kEPAXMass |
Definition at line 142 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kLDModel | |
kEMPFunc | |
kELTON |
Definition at line 149 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kDefaultFormula | |
kItkis1998 | |
kHinde1987 | |
kViola1985 | |
kViola1966 |
Definition at line 155 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kNN | |
knn | |
kpp | |
knp |
Definition at line 163 of file KVNucleus.h.
KVNucleus::KVNucleus | ( | ) |
Default constructor.
Definition at line 270 of file KVNucleus.cpp.
KVNucleus::KVNucleus | ( | const KVNucleus & | obj | ) |
copy ctor
Definition at line 284 of file KVNucleus.cpp.
Create a nucleus with atomic number Z. If the mass number A is not given, A is calculated using the parametrisation determined by the value of fMassFormula (see KVNucleus::GetAFromZ). ekin is the kinetic energy in MeV
Definition at line 319 of file KVNucleus.cpp.
Create nucleus with given Z, kinetic energy t and direction p (p is a unit vector in the desired direction. See KVPosition for methods for generating such vectors). The mass number A is calculated from Z. See KVNucleus::GetAFromZ.
Definition at line 368 of file KVNucleus.cpp.
Create nucleus with given Z, A, and 3-momentum p
Definition at line 389 of file KVNucleus.cpp.
Create a nucleus defined by symbol e.g. "12C", "34Mg", "42Si" etc. etc.
If symbol is not valid, will be made a zombie (IsZombie() returns kTRUE)
The second argument is the kinetic energy per nucleon (E/A) in MeV/A unit
Definition at line 346 of file KVNucleus.cpp.
|
virtual |
Definition at line 404 of file KVNucleus.cpp.
Definition at line 855 of file KVNucleus.cpp.
Reset nucleus' properties: set A and Z to zero. For other properties, see KVParticle::Clear
Reimplemented from KVParticle.
Reimplemented in KVReconstructedNucleus, KVFAZIAReconNuc, and KVINDRAReconNuc.
Definition at line 301 of file KVNucleus.cpp.
For sorting lists of nuclei according to their Z Largest Z appears first in list
Reimplemented from TObject.
Definition at line 1691 of file KVNucleus.cpp.
Copy this KVNucleus into the KVNucleus object referenced by "obj".
Reimplemented from KVParticle.
Reimplemented in KVFAZIAReconNuc, KVINDRAReconNuc, KVReconstructedNucleus, and KVSimNucleus.
Definition at line 837 of file KVNucleus.cpp.
TH2F* GetKnownNucleiChart(KVString method="GetBindingEnergyPerNucleon");.
Retourne l'energie cintetique totale (MeV) du noyau pour une valeur de Brho et d'etat de charge (Si 0-> Etat de charge=Z)
Definition at line 1767 of file KVNucleus.cpp.
Int_t KVNucleus::GetA | ( | ) | const |
Returns mass number (A) of nucleus.
The actual member variable (fA) is a UChar_t and so limited to values 0-255. In case nuclei with larger A are needed (for example in calculations of 2-body scattering, a temporary nucleus corresponding to the sum of the entrance channel nuclei is used in order to find the outgoing target-like from the outgoing projectile-like) the flag "kIsHeavy" is set and GetA returns the value (fA+255). For this reason you should always use GetA and not fA.
Definition at line 802 of file KVNucleus.cpp.
Returns relative abundance value (see KVAbundance class for unit details). If optional arguments (z,a) are given we return the value for the required nucleus.
Definition at line 1215 of file KVNucleus.cpp.
KVAbundance * KVNucleus::GetAbundancePtr | ( | Int_t | z = -1 , |
Int_t | a = -1 |
||
) | const |
Returns the pointeur of the abundance object associated to this nucleus If optional arguments (z,a) are given we return the object for the required nucleus.
Definition at line 1262 of file KVNucleus.cpp.
Calculate nuclear mass number from the element's atomic number Z. Used by default to set fA and fMass if fA not given. For light nuclei (Z<6) the values are given (not calculated) and correspond to: p, alpha, 7Li, 9Be, 11B. For heavier nuclei, several prescriptions are available by giving one of the following values to argument mt:
mt = KVNucleus::kVedaMass
Veda - A calculated using the formula fA = TMath::Nint(1.867*fZ+.016*fZ*fZ-1.07E-4*fZ*fZ*fZ); This corresponds to the amass.f subroutine of the old INDRA Veda calibration programme. These are the masses used in the first INDRA campaigns. For light nuclei (Z<6) the values are given (not calculated) and correspond to: p, alpha, 6Li, 8Be, 10B.
mt = KVNucleus::kBetaMass
Beta (default) - An improved parametrisation of the beta-stability valley, correct even for heavy nuclei up to 238U. The formula is the result of a fit to 8 stable nuclear masses from Ne20 up to U238. From carbon-12 onwards, the mass is calculated using fA = (Int_t) (.2875 + 1.7622 *Z + .013879 * Z * Z - .000054875 * Z * Z * Z) + 1;
mt = KVNucleus::kEALMass
EAL - parametrisation of the Evaporation Attractor Line (residue corridor) due to R.J. Charity (PRC 58(1998)1073). fA = (Int_t)(2.072*Z + 2.32E-03 * Z*Z) + 1; (eq 2)
EALRes - R.J. Charity -— improvement of EAL parametrisation for Heavy Residues (QP for instance) (PRC 58(1998)1073) (eq 7) fA = (Int_t)(2.045*Z + 3.57E-03 * Z*Z) + 1 ;
mt = any other value: A=2*Z
Definition at line 567 of file KVNucleus.cpp.
Double_t KVNucleus::GetAMeV | ( | ) | const |
Returns kinetic energy of nucleus per nucleon (in MeV/nucleon, donc)
Definition at line 1384 of file KVNucleus.cpp.
|
inline |
Definition at line 238 of file KVNucleus.h.
Returns the mass of an isotope in unified atomic mass units (KVNucleus::u() MeV/c**2). This number is also the mass in grammes of 1 mole of this isotope.
Definition at line 932 of file KVNucleus.cpp.
Definition at line 1484 of file KVNucleus.cpp.
Returns ground state binding energy in MeV for this nucleus. The convention is : binding energy is positive if nucleus is bound. If optional arguments (z,a) are given we return the binding energy for the required nucleus. If the nucleus is not included in the mass table, an extrapolated value using KVNucleus::LiquidDrop_BrackGuet is returned.
Definition at line 1305 of file KVNucleus.cpp.
Returns binding energy in MeV/A for this nucleus.
Definition at line 1351 of file KVNucleus.cpp.
|
inline |
The charge asymertry = (neutrons-protons)/nucleons
Definition at line 246 of file KVNucleus.h.
Returns charge radius in fm for tabulated nuclei if not tabulated returns the extrapolated radius calculate in GetExtraChargeRadius If optional arguments (z,a) are given we return the value for the required nucleus.
Definition at line 1098 of file KVNucleus.cpp.
KVChargeRadius * KVNucleus::GetChargeRadiusPtr | ( | Int_t | z = -1 , |
Int_t | a = -1 |
||
) | const |
Returns the pointeur of charge radius object associated to this nucleus If optional arguments (z,a) are given we return object for the required nucleus.
Definition at line 1196 of file KVNucleus.cpp.
Double_t KVNucleus::GetEnergyPerNucleon | ( | ) | const |
Returns kinetic energy of nucleus per nucleon (in MeV/nucleon, donc)
Definition at line 1368 of file KVNucleus.cpp.
|
inline |
Return the excitation energy of the nucleus in MeV. This is the difference between the (relativistic) rest mass and the ground state mass of the nucleus
Definition at line 283 of file KVNucleus.h.
Calculate the extrapoled charge radius Three formulae taken from Atomic Data and Nuclear Data Tables 87 (2004) 185-201 are proposed: rct=2 (kELTON)take into account the finite surfacethickness This rct=2 is set by default because it has the best reproduction of exp data
rct=1 (kEMPFunc) is a purely emperical function re*A**ee rct=0 (kLDModel) is the standard Liquid Drop model approximation
Those formulae are valid for nuclei near the stability valley other parametrization for xotic nuclei are proposed in the same reference but needed extrapolation from given nuclei and I don't have time to do it now
If optional arguments (z,a) are given we return the value for the required nucleus.
Definition at line 1136 of file KVNucleus.cpp.
Calculate the extrapoled mass excess value from the LiquidDrop_BrackGuet formula If optional arguments (z,a) are given we return the value for the required nucleus.
Definition at line 913 of file KVNucleus.cpp.
Double_t KVNucleus::GetFissionTKE | ( | const KVNucleus * | nuc = 0 , |
Int_t | formula = kDefaultFormula |
||
) | const |
Average or most probable Total Kinetic Energy [MeV] expected for fission based on various systematics for fission of highly-excited nuclei produced in heavy-ion reactions. If nuc=0, this method returns the TKE for symmetric fission of this nucleus. Else, it returns the expected TKE considering that nuc and the current nucleus arise from the fisson of a compound nucleus.
Definition at line 1810 of file KVNucleus.cpp.
Double_t KVNucleus::GetFissionVelocity | ( | KVNucleus * | nuc = 0 , |
Int_t | formula = kDefaultFormula |
||
) |
Average/most probable relative velocity [cm/ns] expected for fission based on various systematics for fission of highly-excited nuclei produced in heavy-ion reactions. If nuc=0, this method returns the relative velocity expected for the symmetric fission of this nucleus. Else, it returns the expected relative velocity considering that nuc and the current nucleus arise from the fisson of a compound nucleus.
Definition at line 1883 of file KVNucleus.cpp.
returns list of isotopes separated by commas for exemple 1H,2H,3H according to the charge range and the lifetime in seconds
Definition at line 1456 of file KVNucleus.cpp.
KVNumberList KVNucleus::GetKnownARange | ( | Int_t | zz = -1 , |
Double_t | tmin = 0 |
||
) | const |
returns range of a known mass for a given element according to the lifetime in seconds tmin=0 (default) include all nuclei with known lifetime tmin=-1 include also nuclei for which lifetime is unknown
Definition at line 1401 of file KVNucleus.cpp.
Returns symbol of isotope corresponding to this nucleus, suitable for latex format in ROOT TLatex type class i.e. "^{238}U", "^{12}C", "^{3}He" etc. Neutrons are represented by "^{1}n". In order to have also the charge printed like this : ^{12}_{6}C call with opt="ALL". if you need only the chemical symbol, set opt="EL"
Definition at line 113 of file KVNucleus.cpp.
Returns life time in seconds (see KVLifeTime class for unit details). For 'stable' nuclei (for which the abundance is known), if no lifetime exists in the table we return 1.e+100. For other "nuclei" with no known lifetime we return -1. For resonances (IsResonance() returns kTRUE) we calculate the lifetime from the width of the resonance, t = hbar/W. If optional arguments (z,a) are given we return the value for the required nucleus.
Definition at line 1043 of file KVNucleus.cpp.
KVLifeTime * KVNucleus::GetLifeTimePtr | ( | Int_t | z = -1 , |
Int_t | a = -1 |
||
) | const |
Returns the pointeur of the life time object associated to this nucleus If optional arguments (z,a) are given we return object for the required nucleus.
Definition at line 1077 of file KVNucleus.cpp.
Returns ground state binding energy in MeV for this nucleus calculated from Brack & Guet liquid drop formula (see KVNucleus::LiquiDrop_BrackGuet). The convention is : binding energy is positive if nucleus is bound. If optional arguments (z,a) are given we return the binding energy for the required nucleus.
Definition at line 1330 of file KVNucleus.cpp.
Returns mass excess value in MeV for this nucleus. If optional arguments (z,a) are given we return the value for the required nucleus. If the nucleus is not included in the mass table, an extrapolated value using KVNucleus::LiquidDrop_BrackGuet is returned.
Definition at line 886 of file KVNucleus.cpp.
KVMassExcess * KVNucleus::GetMassExcessPtr | ( | Int_t | z = -1 , |
Int_t | a = -1 |
||
) | const |
Returns pointer of corresponding KVMassExcess object 0 if the Z,A couple is not in the table If optional arguments (z,a) are given we return the value for the required nucleus.
Definition at line 950 of file KVNucleus.cpp.
|
inline |
Definition at line 177 of file KVNucleus.h.
|
inline |
Return the ground state mass of the nucleus in MeV.
Definition at line 290 of file KVNucleus.h.
KVNumberList KVNucleus::GetMeasuredARange | ( | Int_t | z = -1 | ) | const |
returns range of a measured mass for a given element
Definition at line 1427 of file KVNucleus.cpp.
Returns for a the Z of the current nucleus (z=-1) or the given z most abundant A. return -1 if no isotope of the given z have an abundance
Definition at line 1233 of file KVNucleus.cpp.
Int_t KVNucleus::GetN | ( | ) | const |
Return the number of neutron.
Definition at line 784 of file KVNucleus.cpp.
Calculate and return the effective mass number of element Z taking into account the abundance of naturally-occurring isotopes
Definition at line 2041 of file KVNucleus.cpp.
Calculate neutron number from the element's atomic number Z.
Definition at line 639 of file KVNucleus.cpp.
Definition at line 821 of file KVNucleus.cpp.
|
inline |
Definition at line 242 of file KVNucleus.h.
Returns parity value (-1 or +1) for this nucleus. If optional arguments (z,a) are given we return the value for the required nucleus. If the nucleus is not included in the mass table, O is returned
Definition at line 1015 of file KVNucleus.cpp.
<TKE> of asymmetric QuasiFission fragments (for the fragment mass where the QFasym yield is maximal) E.M. Kozulin et al PHYSICAL REVIEW C 90, 054608 (2014) This depends on the entrance channel: this nucleus is assumed to be the projectile, while the target is given as argument.
Definition at line 1860 of file KVNucleus.cpp.
Calculate nuclear mass number from the element's atomic number Z. This value is not rounded off, we just return the result of one of the following formulae:
mt = KVNucleus::kVedaMass
Veda - A calculated using the formula fA = (1.867*fZ+.016*fZ*fZ-1.07E-4*fZ*fZ*fZ); This corresponds to the amass.f subroutine of the old INDRA Veda calibration programme. This formula was supposed to represent the Z-dependence of isotope masses in the beta-stability valley, but is in fact a rather poor approximation, especially for large Z.
mt = KVNucleus::kBetaMass
Beta (default) - An improved parametrisation of the beta-stability valley, correct even for heavy nuclei up to 238U. The formula is the result of a fit to 8 stable nuclear masses from Ne20 up to U238. fA = (.2875 + 1.7622 *Z + .013879 * Z * Z - .000054875 * Z * Z * Z);
mt = KVNucleus::kEALMass
EAL - parametrisation of the Evaporation Attractor Line (residue corridor) due to R.J. Charity (PRC 58(1998)1073) (eq 2) fA = (2.072*Z + 2.32E-03 * Z*Z) ;
EALRes - R.J. Charity -— improvement of EAL parametrisation for Heavy Residue (QP for instance) (PRC 58(1998)1073) (eq 7) fA = (2.045*Z + 3.57E-03 * Z*Z) ;
mt = any other value: A=2*Z
Definition at line 447 of file KVNucleus.cpp.
Calculate neutron number from the element's atomic number Z. This value is not rounded off, we just return the result obtain from the chosen mass formula (mt)
Definition at line 517 of file KVNucleus.cpp.
Return the reltive velocity between nuc and this in cm/ns.
Definition at line 1790 of file KVNucleus.cpp.
Returns spin value for this nucleus. If optional arguments (z,a) are given we return the value for the required nucleus. If the nucleus is not included in the mass table, -1 is returned
Definition at line 990 of file KVNucleus.cpp.
KVSpinParity * KVNucleus::GetSpinParityPtr | ( | Int_t | z = -1 , |
Int_t | a = -1 |
||
) | const |
Returns pointer of corresponding KVSpinParity object 0 if the Z,A couple is not in the table If optional arguments (z,a) are given we return the value for the required nucleus.
Definition at line 970 of file KVNucleus.cpp.
Returns symbol of isotope corresponding to this nucleus, i.e. "238U", "12C", "3He" etc. Neutrons are represented by "n". In order to have just the symbol of the chemical element (e.g. "Pt", "Zn", "Fe"), call with opt="EL".
Definition at line 81 of file KVNucleus.cpp.
Double_t KVNucleus::GetWidth | ( | ) | const |
Returns width of resonance in MeV, if this nucleus is indeed a resonance (IsResonance() returns kTRUE).
Definition at line 2026 of file KVNucleus.cpp.
Int_t KVNucleus::GetZ | ( | ) | const |
Return the number of proton / atomic number.
Definition at line 773 of file KVNucleus.cpp.
Returns Z of nucleus with given symbol i.e. "C" => Z=6, "U" => Z=92 if unknown, returns -1
Definition at line 209 of file KVNucleus.cpp.
void KVNucleus::init | ( | ) |
Default intialisations The mass formula is kBetaMass, i.e. the formula for the valley of beta-stability. Set up nuclear data table manager if not done already
Definition at line 248 of file KVNucleus.cpp.
|
inline |
Returns kTRUE if the Z and/or A of the nucleus have been set.
'Blank' nuclei created by the default constructor have Z=A=0 until a method such as SetZ() is called. In this case IsDefined() returns kFALSE.
Definition at line 202 of file KVNucleus.h.
Definition at line 330 of file KVNucleus.h.
Definition at line 334 of file KVNucleus.h.
Bool_t KVNucleus::IsKnown | ( | int | z = -1 , |
int | a = -1 |
||
) | const |
Old method, the answer is only valid for the mass excess table Returns kTRUE if this nucleus or (z,a) is included in the mass table.
We kept it for backward compatibility :
Definition at line 1282 of file KVNucleus.cpp.
test if the given string corresponds to the name of an isotope/element, and whether or not a mass is specified. isotope = symbol for element isotope, "C", "natSn", "13N", etc. if the mass of the isotope is given ("13N", "233U") we return the given mass if this is a valid element but no mass is given we return 0 if this is not a valid isotope/element, we return -1
Definition at line 147 of file KVNucleus.cpp.
Bool_t KVNucleus::IsResonance | ( | ) | const |
Returns kTRUE if this nucleus is a resonance. In this case GetWidth() returns the width in MeV.
Definition at line 2011 of file KVNucleus.cpp.
|
inlinevirtual |
Reimplemented from TObject.
Definition at line 197 of file KVNucleus.h.
Returns kTRUE if this nucleus is stable. Definition of stable: if the natural abundance is defined (look up in Abundance table) OR if lifetime is > min_lifetime
Definition at line 1992 of file KVNucleus.cpp.
Liquid drop mass formula used for nuclei not in mass table (extrapolation). Parameters are from Brack and Guet (copied from Simon code)
Definition at line 1623 of file KVNucleus.cpp.
Double_t KVNucleus::LiquidDrop_Weizsacker | ( | ) |
Liquid drop mass formula used for nuclei not in mass table (extrapolation). Parameters are from Brack and Guet (copied from Simon code)
Definition at line 1659 of file KVNucleus.cpp.
KVNucleus addition operator. Add two nuclei together to form a compound nucleus whose Z, A, momentum and excitation energy are calculated from energy and momentum conservation.
Definition at line 1527 of file KVNucleus.cpp.
KVNucleus addition and assignment operator.
Definition at line 1592 of file KVNucleus.cpp.
KVNucleus subtraction operator. If the LHS is a compound nucleus and the RHS an emitted nucleus (which may or may not be excited) then the result of the subtraction is the residual nucleus, with recoil and residual excitation calculated by conservation laws.
Definition at line 1557 of file KVNucleus.cpp.
KVNucleus subtraction and assignment operator.
Definition at line 1607 of file KVNucleus.cpp.
KVNucleus assignment operator.
Definition at line 1509 of file KVNucleus.cpp.
Display nucleus parameters.
Reimplemented from KVParticle.
Reimplemented in KVFAZIAReconNuc, KVINDRAReconNuc, KVReconstructedNucleus, and KVSimNucleus.
Definition at line 761 of file KVNucleus.cpp.
Set nucleus' Z & A using chemical symbol e.g. Set("12C") or Set("233U") etc.
Any failure to deduce Z from the symbol will result in this object being made a zombie i.e. IsZombie() will return kTRUE
Definition at line 180 of file KVNucleus.cpp.
Set mass number Be careful not to call SetZ() after SetA(), as SetZ() will reset the mass number according to one of the available parametrisations of A as a function of Z.
For A>255 the kIsHeavy flag is set. Then fA will equal A-255, and GetA will return fA+255. If A<=255 the flag is reset.
Definition at line 658 of file KVNucleus.cpp.
Define excitation energy of nucleus in MeV. The rest mass of the nucleus is changed: m0 -> m0 + E*
Definition at line 868 of file KVNucleus.cpp.
Set mass formula used for calculating A from Z for this nucleus
Definition at line 345 of file KVNucleus.h.
Set mass number Be careful not to call SetZ() after SetN(), as SetZ() will reset the neutron number according to one of the available parametrisations of A (N+Z) as a function of Z.
Definition at line 688 of file KVNucleus.cpp.
Set atomic number The mass number fA is automatically calculated and set using GetAFromZ(). The optional EMassType argument allows to change the default parametrisation used for calculating A from Z.
Definition at line 707 of file KVNucleus.cpp.
Set atomic number, mass number, and kinetic energy in MeV.
Definition at line 736 of file KVNucleus.cpp.
Set atomic number and mass number.
Definition at line 724 of file KVNucleus.cpp.
Set atomic number and mass number.
Definition at line 749 of file KVNucleus.cpp.
int KVNucleus::SetZFromSymbol | ( | const Char_t * | sym | ) |
Set Z of nucleus with given symbol i.e. "C" => Z=6, "U" => Z=92
Returns Z found, or -1 if symbol is unknown
Definition at line 228 of file KVNucleus.cpp.
Nuclear Instruments and Methods 200 (1982) 605-608 Shima et al "The present formula is useful for the collision range" Zprojectile>=8 4<=Ztarget<=79 Eproj<=6 MeV/A Precision DeltaQ/Zproj <0.04.
v=sqrt((2*E*1.6022)/(A*1.66054))*10.; X=v/((3.6)*pow(Z,0.45));
Definition at line 2065 of file KVNucleus.cpp.
Double_t KVNucleus::ShimaChargeStatePrecision | ( | ) | const |
Definition at line 2106 of file KVNucleus.cpp.
from: D. Hinde, J. Leigh, J. Bokhorst, J. Newton, R. Walsh, and J. Boldeman, Nuclear Physics A 472, 318 (1987) According to the authors, an extension to asymmetric fission based on TKE_Viola1985
Definition at line 1918 of file KVNucleus.cpp.
from: M.G. Itkis & A. Ya. Rusanov, Phys. Part. Nucl. 29, 160 (1998) Compared to Viola systematics, only heavy-ion induced fission is considered A change of slope is observed for Z**2/A**1/3 > 900
Definition at line 1956 of file KVNucleus.cpp.
<TKE> of asymmetric QuasiFission fragments (for the fragment mass where the QFasym yield is maximal) E.M. Kozulin et al PHYSICAL REVIEW C 90, 054608 (2014)
Definition at line 1974 of file KVNucleus.cpp.
from: V. E. Viola, Jr., Nuclear Data Sheets. Section A 1, 391 (1965).
Definition at line 1942 of file KVNucleus.cpp.
from: V. E. Viola, K. Kwiatkowski, and M. Walker, Physical Review C 31, 1550 (1985).
Definition at line 1930 of file KVNucleus.cpp.
Atomic mass unit in MeV Reference: 2002 CODATA recommended values Reviews of Modern Physics 77, 1-107 (2005)
Definition at line 1753 of file KVNucleus.cpp.
|
static |
e^2/(4.pi.epsilon_0) in MeV.fm
Definition at line 174 of file KVNucleus.h.
|
private |
nuclear mass number
Definition at line 130 of file KVNucleus.h.
|
staticprivate |
symbols of chemical elements
Definition at line 51 of file KVNucleus.h.
|
private |
mass formula for calculating A from Z
Definition at line 132 of file KVNucleus.h.
|
staticprivate |
counts number of existing KVNucleus objects
Definition at line 133 of file KVNucleus.h.
|
private |
Definition at line 135 of file KVNucleus.h.
|
private |
nuclear charge number (atomic number)
Definition at line 131 of file KVNucleus.h.
|
static |
|
static |
|
static |
electron mass in MeV/c2
Definition at line 171 of file KVNucleus.h.