High-precision calculations for one- and two-valence atomic systems
Nuclear::Nucleus

ok

Stores set of nuclear parameters (all radii in fm)

#include <NuclearPotentials.hpp>

Public Member Functions

 Nucleus (int in_z=1, int in_a=0, const std::string &str_type="Fermi", double in_rrms=-1.0, double in_t=-1.0, double in_beta=0.0, const std::vector< double > &in_params={}, const std::string &custom_pot_file_name="")
 Constructs nucleus from Z and A, with optional parameters.
 
 Nucleus (const std::string &z_str, int in_a, const std::string &str_type="Fermi", double in_rrms=-1.0, double in_t=Nuclear::default_t, double in_beta=0.0, const std::vector< double > &in_params={}, const std::string &custom_pot_file_name="")
 As above, with Z given as atomic symbol or name (e.g., "Cs")
 
ChargeDistro & type ()
 Charge distribution type.
 
ChargeDistro type () const
 
int & z ()
 Nuclear charge, Z.
 
int z () const
 
int & a ()
 Mass number, A.
 
int a () const
 
const std::vector< double > & params () const
 Extra parameters (not currently used)
 
std::vector< double > & params ()
 
void set_rrms (double rrms)
 Sets root-mean-square charge radius (fm)
 
double r_rms () const
 Root-mean-square charge radius (fm); 0 if not set.
 
double & t ()
 Skin thickness, t (fm); Fermi only.
 
double t () const
 
double & beta ()
 Quadrupole deformation parameter, beta; Fermi only.
 
double beta () const
 
std::string & custom_pot_file ()
 File name for custom nuclear potential.
 
std::string custom_pot_file () const
 
double c () const
 Half-density radius, c (fm), from r_rms and t.
 

Friends

std::ostream & operator<< (std::ostream &ostr, const Nucleus &n)
 Prints summary of nuclear parameters.
 

Constructor & Destructor Documentation

◆ Nucleus() [1/2]

Nuclear::Nucleus::Nucleus ( int  in_z = 1,
int  in_a = 0,
const std::string &  str_type = "Fermi",
double  in_rrms = -1.0,
double  in_t = -1.0,
double  in_beta = 0.0,
const std::vector< double > &  in_params = {},
const std::string &  custom_pot_file_name = "" 
)

Constructs nucleus from Z and A, with optional parameters.

r_rms is taken from isotope data if not given; if not in the isotope data, an approximate formula is used. A = 0 gives r_rms = 0 (point-like), regardless of in_rrms. For non-Fermi types, t is set to zero.

Parameters
in_zNuclear charge, Z
in_aMass number, A. Negative: default A for Z; 0: point-like
str_typeCharge distribution type (see parseType)
in_rrmsRoot-mean-square charge radius (fm). Negative: from isotope data
in_tSkin thickness (fm), Fermi only. Negative: default_t
in_betaQuadrupole deformation parameter (Fermi only)
in_paramsExtra parameters (not currently used)
custom_pot_file_nameFile for custom nuclear potential

◆ Nucleus() [2/2]

Nuclear::Nucleus::Nucleus ( const std::string &  z_str,
int  in_a,
const std::string &  str_type = "Fermi",
double  in_rrms = -1.0,
double  in_t = Nuclear::default_t,
double  in_beta = 0.0,
const std::vector< double > &  in_params = {},
const std::string &  custom_pot_file_name = "" 
)

As above, with Z given as atomic symbol or name (e.g., "Cs")

Member Function Documentation

◆ type()

ChargeDistro & Nuclear::Nucleus::type ( )
inline

Charge distribution type.

◆ z()

int & Nuclear::Nucleus::z ( )
inline

Nuclear charge, Z.

◆ a()

int & Nuclear::Nucleus::a ( )
inline

Mass number, A.

◆ params()

const std::vector< double > & Nuclear::Nucleus::params ( ) const
inline

Extra parameters (not currently used)

◆ set_rrms()

void Nuclear::Nucleus::set_rrms ( double  rrms)
inline

Sets root-mean-square charge radius (fm)

◆ r_rms()

double Nuclear::Nucleus::r_rms ( ) const
inline

Root-mean-square charge radius (fm); 0 if not set.

◆ t()

double & Nuclear::Nucleus::t ( )
inline

Skin thickness, t (fm); Fermi only.

◆ beta()

double & Nuclear::Nucleus::beta ( )
inline

Quadrupole deformation parameter, beta; Fermi only.

◆ custom_pot_file()

std::string & Nuclear::Nucleus::custom_pot_file ( )
inline

File name for custom nuclear potential.

◆ c()

double Nuclear::Nucleus::c ( ) const
inline

Half-density radius, c (fm), from r_rms and t.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  ostr,
const Nucleus &  n 
)
friend

Prints summary of nuclear parameters.


The documentation for this class was generated from the following files: