KaliVeda
1.13/01
Heavy-Ion Analysis Toolkit
|
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 125 of file 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 } |
![]() | |
enum | { kIsOK = BIT(14) , kIsOKSet = BIT(15) , kIsDetected = BIT(16) } |
![]() | |
typedef Double_t | Scalar |
![]() | |
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. More... | |
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). More... | |
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). More... | |
static Double_t | u (void) |
![]() | |
static Double_t | C () |
![]() | |
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 More... | |
static Double_t | hbar = TMath::Hbarcgs() * TMath::Ccgs() / TMath::Qe() |
hbar*c in MeV.fm More... | |
static Double_t | kAMU = 9.31494043e02 |
atomic mass unit in MeV More... | |
static Double_t | kMe = 0.510998 |
electron mass in MeV/c2 More... | |
Private Types | |
enum | { kIsHeavy = BIT(17) } |
Private Attributes | |
UChar_t | fA |
nuclear mass number More... | |
UChar_t | fMassFormula |
mass formula for calculating A from Z More... | |
TString | fSymbolName |
UChar_t | fZ |
nuclear charge number (atomic number) More... | |
Static Private Attributes | |
static Char_t | fElements [][3] |
symbols of chemical elements More... | |
static UInt_t | fNb_nuc = 0 |
counts number of existing KVNucleus objects More... | |
Additional Inherited Members | |
![]() | |
kNUM_COORDINATES | |
kSIZE | |
kT | |
kX | |
kY | |
kZ | |
![]() | |
kBitMask | |
kCanDelete | |
kCannotPick | |
kHasUUID | |
kInconsistent | |
kInvalidObject | |
kIsOnHeap | |
kIsReferenced | |
kMustCleanup | |
kNoContextMenu | |
kNotDeleted | |
kObjInCanvas | |
kOverwrite | |
kSingleKey | |
kWriteDelete | |
kZombie | |
![]() | |
void | AddGroups (KVUniqueNameList *un) |
list of groups added to the current one More... | |
void | SetGroups (KVUniqueNameList *un) |
Define for the particle a new list of groups. More... | |
![]() | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
void | MakeZombie () |
![]() | |
TVector3 * | fE0 |
the momentum of the particle before it is slowed/stopped by an absorber More... | |
KVNameValueList | fParameters |
a general-purpose list of parameters associated with this particle More... | |
![]() | |
kOnlyPrepStep | |
#include <KVNucleus.h>
|
private |
Enumerator | |
---|---|
kIsHeavy |
Definition at line 136 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kBetaMass | |
kVedaMass | |
kEALMass | |
kEALResMass | |
kEPAXMass |
Definition at line 141 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kLDModel | |
kEMPFunc | |
kELTON |
Definition at line 148 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kDefaultFormula | |
kItkis1998 | |
kHinde1987 | |
kViola1985 | |
kViola1966 |
Definition at line 154 of file KVNucleus.h.
anonymous enum |
Enumerator | |
---|---|
kNN | |
knn | |
kpp | |
knp |
Definition at line 162 of file KVNucleus.h.
KVNucleus::KVNucleus | ( | ) |
Default constructor.
Definition at line 267 of file KVNucleus.cpp.
KVNucleus::KVNucleus | ( | const KVNucleus & | obj | ) |
copy ctor
Definition at line 281 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 316 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 365 of file KVNucleus.cpp.
Create nucleus with given Z, A, and 3-momentum p
Definition at line 386 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 343 of file KVNucleus.cpp.
|
virtual |
Definition at line 852 of file KVNucleus.cpp.
Reset nucleus' properties: set A and Z to zero. For other properties, see KVParticle::Clear
Reimplemented from KVParticle.
Reimplemented in KVINDRAReconNuc, KVFAZIAReconNuc, and KVReconstructedNucleus.
Definition at line 298 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 1688 of file KVNucleus.cpp.
Copy this KVNucleus into the KVNucleus object referenced by "obj".
Reimplemented from KVParticle.
Reimplemented in KVSimNucleus, KVReconstructedNucleus, KVINDRAReconNuc, and KVFAZIAReconNuc.
Definition at line 834 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 1764 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 799 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 1212 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 1259 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 564 of file KVNucleus.cpp.
Double_t KVNucleus::GetAMeV | ( | ) | const |
Returns kinetic energy of nucleus per nucleon (in MeV/nucleon, donc)
Definition at line 1381 of file KVNucleus.cpp.
|
inline |
Definition at line 237 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 929 of file KVNucleus.cpp.
Definition at line 1481 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 1302 of file KVNucleus.cpp.
Returns binding energy in MeV/A for this nucleus.
Definition at line 1348 of file KVNucleus.cpp.
|
inline |
The charge asymertry = (neutrons-protons)/nucleons
Definition at line 245 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 1095 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 1193 of file KVNucleus.cpp.
Double_t KVNucleus::GetEnergyPerNucleon | ( | ) | const |
Returns kinetic energy of nucleus per nucleon (in MeV/nucleon, donc)
Definition at line 1365 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 282 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 1133 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 910 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 1807 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 1880 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 1453 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 1398 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".
Definition at line 112 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 1040 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 1074 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 1327 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 883 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 947 of file KVNucleus.cpp.
|
inline |
Definition at line 176 of file KVNucleus.h.
|
inline |
Return the ground state mass of the nucleus in MeV.
Definition at line 289 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 1424 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 1230 of file KVNucleus.cpp.
Int_t KVNucleus::GetN | ( | ) | const |
Return the number of neutron.
Definition at line 781 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 2038 of file KVNucleus.cpp.
Calculate neutron number from the element's atomic number Z.
Definition at line 636 of file KVNucleus.cpp.
Definition at line 818 of file KVNucleus.cpp.
|
inline |
Definition at line 241 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 1012 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 1857 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 444 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 514 of file KVNucleus.cpp.
Return the reltive velocity between nuc and this in cm/ns.
Definition at line 1787 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 987 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 967 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 2023 of file KVNucleus.cpp.
Int_t KVNucleus::GetZ | ( | ) | const |
Return the number of proton / atomic number.
Definition at line 770 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 206 of file KVNucleus.cpp.
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 245 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 201 of file KVNucleus.h.
Definition at line 329 of file KVNucleus.h.
Definition at line 333 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 1279 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 144 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 2008 of file KVNucleus.cpp.
|
inlinevirtual |
Reimplemented from TObject.
Definition at line 196 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 1989 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 1620 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 1656 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 1524 of file KVNucleus.cpp.
KVNucleus addition and assignment operator.
Definition at line 1589 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 1554 of file KVNucleus.cpp.
KVNucleus subtraction and assignment operator.
Definition at line 1604 of file KVNucleus.cpp.
KVNucleus assignment operator.
Definition at line 1506 of file KVNucleus.cpp.
Display nucleus parameters.
Reimplemented from KVParticle.
Reimplemented in KVSimNucleus, KVReconstructedNucleus, KVINDRAReconNuc, and KVFAZIAReconNuc.
Definition at line 758 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 177 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 655 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 865 of file KVNucleus.cpp.
Set mass formula used for calculating A from Z for this nucleus
Definition at line 344 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 685 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 704 of file KVNucleus.cpp.
Set atomic number, mass number, and kinetic energy in MeV.
Definition at line 733 of file KVNucleus.cpp.
Set atomic number and mass number.
Definition at line 721 of file KVNucleus.cpp.
Set atomic number and mass number.
Definition at line 746 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 225 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 2062 of file KVNucleus.cpp.
Double_t KVNucleus::ShimaChargeStatePrecision | ( | ) | const |
Definition at line 2103 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 1915 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 1953 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 1971 of file KVNucleus.cpp.
from: V. E. Viola, Jr., Nuclear Data Sheets. Section A 1, 391 (1965).
Definition at line 1939 of file KVNucleus.cpp.
from: V. E. Viola, K. Kwiatkowski, and M. Walker, Physical Review C 31, 1550 (1985).
Definition at line 1927 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 1750 of file KVNucleus.cpp.
|
static |
e^2/(4.pi.epsilon_0) in MeV.fm
Definition at line 173 of file KVNucleus.h.
|
private |
nuclear mass number
Definition at line 129 of file KVNucleus.h.
|
staticprivate |
symbols of chemical elements
Definition at line 133 of file KVNucleus.h.
|
private |
mass formula for calculating A from Z
Definition at line 131 of file KVNucleus.h.
|
staticprivate |
counts number of existing KVNucleus objects
Definition at line 132 of file KVNucleus.h.
|
private |
Definition at line 134 of file KVNucleus.h.
|
private |
nuclear charge number (atomic number)
Definition at line 130 of file KVNucleus.h.
|
static |
|
static |
|
static |
electron mass in MeV/c2
Definition at line 170 of file KVNucleus.h.