Classes | Public Member Functions | Protected Attributes | List of all members
o2scl::nucmass_hfb Class Reference

HFB Mass formula. More...

#include <nucmass_hfb.h>

Inheritance diagram for o2scl::nucmass_hfb:
o2scl::nucmass_table o2scl::nucmass o2scl::nucmass_info

Classes

struct  entry
 Entry structure for HFB mass formula. More...
 

Public Member Functions

 nucmass_hfb ()
 Create a new mass formula object.
 
virtual bool is_included (int Z, int N)
 Return false if the mass formula does not include specified nucleus.
 
virtual double mass_excess (int Z, int N)
 Given Z and N, return the mass excess in MeV.
 
nucmass_hfb::entry get_ZN (int l_Z, int l_N)
 Get the entry for the specified proton and neutron number. More...
 
bool is_loaded ()
 Verify that the constructor properly loaded the table.
 
double blank ()
 The value which corresponds to a blank entry.
 
virtual const char * type ()
 Return the type, "nucmass_hfb".
 
int set_data (int n_mass, nucmass_hfb::entry *m, std::string ref)
 Set data. More...
 
int get_nentries ()
 Return number of entries.
 
- Public Member Functions inherited from o2scl::nucmass_table
virtual double mass_excess_d (double Z, double N)
 Given Z and N, return the mass excess in MeV.
 
- Public Member Functions inherited from o2scl::nucmass
virtual int get_nucleus (int Z, int N, nucleus &n)
 Fill n with the information from nucleus with the given neutron and proton number. More...
 
virtual double electron_binding (double Z)
 Return the approximate electron binding energy in MeV.
 
virtual double binding_energy (int Z, int N)
 Return the binding energy in MeV. More...
 
virtual double binding_energy_d (double Z, double N)
 Return the binding energy in MeV. More...
 
virtual double total_mass (int Z, int N)
 Return the total mass of the nucleus (without the electrons) in MeV.
 
virtual double total_mass_d (double Z, double N)
 Return the total mass of the nucleus (without the electrons) in MeV.
 
virtual double atomic_mass (int Z, int N)
 Return the atomic mass of the nucleus in MeV (includes electrons and their binding energy)
 
virtual double atomic_mass_d (double Z, double N)
 Return the atomic mass of the nucleus in MeV (includes electrons and their binding energy)
 
- Public Member Functions inherited from o2scl::nucmass_info
int parse_elstring (std::string ela, int &Z, int &N, int &A)
 Parse a string representing an element. More...
 
int eltoZ (std::string el)
 Return Z given the element name abbreviation. More...
 
std::string Ztoel (size_t Z)
 Return the element name abbreviation given Z. More...
 
std::string tostring (size_t Z, size_t N)
 Return a string of the form "Pb208" for a given Z and N. More...
 

Protected Attributes

int n
 The number of entries (about 3000).
 
std::string reference
 The reference for the original data.
 
nucmass_hfb::entrymass
 The array containing the mass data of length ame::n.
 
int last
 The last table index for caching.
 
- Protected Attributes inherited from o2scl::nucmass_info
std::map< std::string, int, std::greater< std::string > > element_table
 A map containing the proton numbers organized by element abbreviation.
 
std::string element_list [nelements]
 The list of elements organized by proton number.
 

Additional Inherited Members

- Public Attributes inherited from o2scl::nucmass
double m_neut
 Neutron mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_neutron converted into MeV)
 
double m_prot
 Proton mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_proton converted into MeV)
 
double m_elec
 Electron mass in $ \mathrm{MeV} $ (defaults to o2scl_mks::mass_electron converted into MeV)
 
double m_amu
 Atomic mass unit in $ \mathrm{MeV} $ (defaults to o2scl_mks::unified_atomic_mass converted into MeV)
 
- Protected Types inherited from o2scl::nucmass_info
typedef std::map< std::string, int, std::greater< std::string > >::iterator table_it
 A convenient typedef for an iterator for element_table.
 
- Static Protected Attributes inherited from o2scl::nucmass_info
static const int nelements =119
 The number of elements (proton number)
 

Detailed Description

Todo:
Mg40 is present in some tables but not others. Compare hfb14-plain with hfb14-plain_v0. This may be related to the fact that the mass excess of Mg40 differs significantly between the 2003 and 2013 Audi et al. tables?
Todo:
Update to include hfb17.

Definition at line 49 of file nucmass_hfb.h.

Member Function Documentation

◆ get_ZN()

nucmass_hfb::entry o2scl::nucmass_hfb::get_ZN ( int  l_Z,
int  l_N 
)

This method searches the table using a cached binary search algorithm. It is assumed that the table is sorted first by proton number and then by neutron number.

◆ set_data()

int o2scl::nucmass_hfb::set_data ( int  n_mass,
nucmass_hfb::entry m,
std::string  ref 
)

This function is used by the HDF I/O routines.


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

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).