nucmass_wlw.h
Go to the documentation of this file.
1 /*
2  -------------------------------------------------------------------
3 
4  Copyright (C) 2014-2020, Andrew W. Steiner
5 
6  This file is part of O2scl.
7 
8  O2scl is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 3 of the License, or
11  (at your option) any later version.
12 
13  O2scl is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with O2scl. If not, see <http://www.gnu.org/licenses/>.
20 
21  -------------------------------------------------------------------
22 */
23 #ifndef O2SCL_NUCMASS_WLW_H
24 #define O2SCL_NUCMASS_WLW_H
25 
26 /** \file nucmass_wlw.h
27  \brief File defining \ref o2scl::nucmass_wlw
28 */
29 
30 #include <cmath>
31 #include <string>
32 #include <map>
33 #include <o2scl/nucmass.h>
34 
35 #ifndef DOXYGEN_NO_O2NS
36 namespace o2scl {
37 #endif
38 
39  /** \brief Nuclear structure from Wang et al.
40 
41  \todo Unfinished.
42 
43  Models
44  - "WS3.2" in file "wlw10.o2" from \ref Wang10
45  - "WS3.3" in file "wllw10.o2" from \ref Wang10b
46  - "WS3.6" in file "lwdw11.o2" from \ref Liu11
47  - "WS3_RBF" in file "wl11.o2" from \ref Wang11
48  - "WS4_RBF" in file "wlwm14.o2" from \ref Wang14
49  */
50  class nucmass_wlw : public nucmass_table {
51 
52  public:
53 
54  nucmass_wlw();
55 
56  ~nucmass_wlw();
57 
58  int load(std::string model="", bool external=false);
59 
60  /** \brief Entry structure
61  */
62  class entry {
63 
64  public:
65 
66  /// Proton number
67  int Z;
68  /// Neutron number
69  int N;
70  /*
71  /// Deformation
72  double Beta2;
73  /// Deformation
74  double Beta4;
75  /// Deformation
76  double Beta6;
77  /// Shell correction energy
78  double Esh;
79  double Dres;
80  /// Experimental binding energy (MeV)
81  double Eexp;
82  /// Theoretical binding energy (MeV)
83  double Eth;
84  /// Experimental mass excess (MeV)
85  double Mexp;
86  */
87  /// Theoretical mass excess (MeV)
88  double Mth;
89  };
90 
91  /// Return the type, \c "nucmass_wlw".
92  virtual const char *type() { return "nucmass_wlw"; }
93 
94  /** \brief Return false if the mass formula does not include
95  specified nucleus
96  */
97  virtual bool is_included(int Z, int N);
98 
99  /// Given \c Z and \c N, return the mass excess in MeV
100  virtual double mass_excess(int Z, int N);
101 
102 #ifndef DOXYGEN_INTERNAL
103 
104  protected:
105 
106  /// The array containing the mass data of length n
108 
109  /// The last table index for caching
110  int last;
111 
112 #endif
113 
114  };
115 
116 #ifndef DOXYGEN_NO_O2NS
117 }
118 #endif
119 
120 #endif
o2scl::nucmass_wlw::entry
Entry structure.
Definition: nucmass_wlw.h:62
o2scl::nucmass_wlw
Nuclear structure from Wang et al.
Definition: nucmass_wlw.h:50
o2scl::nucmass_wlw::entry::Z
int Z
Proton number.
Definition: nucmass_wlw.h:67
o2scl::nucmass_wlw::entry::N
int N
Neutron number.
Definition: nucmass_wlw.h:69
o2scl::nucmass_wlw::type
virtual const char * type()
Return the type, "nucmass_wlw".
Definition: nucmass_wlw.h:92
o2scl::nucmass_table
Tabulated nuclear masses [abstract base].
Definition: nucmass.h:330
o2scl::nucmass_wlw::mass
entry * mass
The array containing the mass data of length n.
Definition: nucmass_wlw.h:107
o2scl::nucmass_wlw::mass_excess
virtual double mass_excess(int Z, int N)
Given Z and N, return the mass excess in MeV.
o2scl::nucmass_wlw::last
int last
The last table index for caching.
Definition: nucmass_wlw.h:110
o2scl::nucmass_wlw::is_included
virtual bool is_included(int Z, int N)
Return false if the mass formula does not include specified nucleus.
o2scl::nucmass_wlw::entry::Mth
double Mth
Theoretical mass excess (MeV)
Definition: nucmass_wlw.h:88

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