Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
o2scl::nucmass_fit Class Reference

Fit a nuclear mass formula. More...

#include <nucmass_fit.h>

Public Types

typedef boost::numeric::ublas::vector< double > ubvector
 
typedef boost::numeric::ublas::vector< int > ubvector_int
 
typedef boost::numeric::ublas::vector< size_t > ubvector_size_t
 

Public Member Functions

virtual void fit (nucmass_fit_base &n, double &res)
 Fit the nuclear mass formula.
 
virtual void eval (nucmass &n, double &res)
 Evaluate quality without fitting.
 
void set_mmin (mmin_base<> &umm)
 Change the minimizer for use in the fit.
 
template<class vec_t >
void set_uncerts (vec_t &u)
 Set the fit uncertainties (in MeV)
 
template<class vec_t >
void set_uncerts (size_t nv, vec_t &u)
 Set the fit uncertainties (in MeV) from the first nv elements of u.
 
void eval_isospin_beta (nucmass &n, ubvector_int &n_qual, ubvector &qual, int max_iso=20)
 Evaluate isospin dependence of fit quality. More...
 
void eval_isospin (nucmass &n, ubvector_int &n_qual, ubvector &qual, int min_iso=-8, int max_iso=60)
 Evaluate isospin dependence of fit quality.
 
virtual double min_fun (size_t nv, const ubvector &x)
 The function to minimize.
 

Public Attributes

bool even_even
 If true, then only fit doubly-even nuclei (default false)
 
int minZ
 Minimum proton number to fit (default 8)
 
int minN
 Minimum neutron number to fit (default 8)
 
mmin_simp2 def_mmin
 The default minimizer. More...
 
std::vector< nucleusdist
 Select the experimental nuclei to fit.
 

Protected Attributes

ubvector uncs
 Uncertainties.
 
mmin_basemm
 The pointer to the minimizer.
 
nucmass_fit_basenmf
 The nuclear mass formula to fit to. More...
 

Fitting method

int fit_method
 Current fitting method.
 
static const int rms_mass_excess =0
 RMS deviation in mass excess.
 
static const int rms_binding_energy =1
 RMS deviation in binding_energy.
 
static const int chi_squared_me =2
 Chi-squared for mass excess using specified uncertainties.
 
static const int chi_squared_be =3
 Chi-squared for binding energy using specified uncertainties.
 

Detailed Description

There is an example of the usage of this class given in Nuclear mass fit example.

Idea for Future:
Convert to a real fit with errors and covariance, etc.

Definition at line 51 of file nucmass_fit.h.

Member Function Documentation

◆ eval_isospin_beta()

void o2scl::nucmass_fit::eval_isospin_beta ( nucmass n,
ubvector_int n_qual,
ubvector qual,
int  max_iso = 20 
)
Todo:
More documentation and compute uncertainty

Member Data Documentation

◆ def_mmin

mmin_simp2 o2scl::nucmass_fit::def_mmin

The value of def_mmin::ntrial is automatically multiplied by 10 in the constructor because the minimization frequently requires more trials than the default.

Definition at line 99 of file nucmass_fit.h.

◆ nmf

nucmass_fit_base* o2scl::nucmass_fit::nmf
protected

This pointer is set by fit() and eval().

Definition at line 163 of file nucmass_fit.h.


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).