nucmass_wlw.h
Go to the documentation of this file.
1 /*
2  -------------------------------------------------------------------
3 
4  Copyright (C) 2014-2017, 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(std::string model="", bool external=false);
55 
56  ~nucmass_wlw();
57 
58  /** \brief Entry structure
59  */
60  class entry {
61 
62  public:
63 
64  /// Proton number
65  int Z;
66  /// Neutron number
67  int N;
68  /*
69  /// Deformation
70  double Beta2;
71  /// Deformation
72  double Beta4;
73  /// Deformation
74  double Beta6;
75  /// Shell correction energy
76  double Esh;
77  double Dres;
78  /// Experimental binding energy (MeV)
79  double Eexp;
80  /// Theoretical binding energy (MeV)
81  double Eth;
82  /// Experimental mass excess (MeV)
83  double Mexp;
84  */
85  /// Theoretical mass excess (MeV)
86  double Mth;
87  };
88 
89  /// Return the type, \c "nucmass_wlw".
90  virtual const char *type() { return "nucmass_wlw"; }
91 
92  /// Returns true if data has been loaded
93  bool is_loaded() { return (n>0); }
94 
95  /** \brief Return false if the mass formula does not include
96  specified nucleus
97  */
98  virtual bool is_included(int Z, int N);
99 
100  /// Return number of entries
101  int get_nentries() { return n; }
102 
103  /// Given \c Z and \c N, return the mass excess in MeV
104  virtual double mass_excess(int Z, int N);
105 
106 #ifndef DOXYGEN_INTERNAL
107 
108  protected:
109 
110  /// The number of entries (about 3000).
111  int n;
112 
113  /// The reference for the original data
114  std::string reference;
115 
116  /// The array containing the mass data of length n
118 
119  /// The last table index for caching
120  int last;
121 
122 #endif
123 
124  };
125 
126 #ifndef DOXYGEN_NO_O2NS
127 }
128 #endif
129 
130 #endif
std::string reference
The reference for the original data.
Definition: nucmass_wlw.h:114
Nuclear structure from Wang et al.
Definition: nucmass_wlw.h:50
virtual const char * type()
Return the type, "nucmass_wlw".
Definition: nucmass_wlw.h:90
int get_nentries()
Return number of entries.
Definition: nucmass_wlw.h:101
double Mth
Theoretical mass excess (MeV)
Definition: nucmass_wlw.h:86
int n
The number of entries (about 3000).
Definition: nucmass_wlw.h:111
bool is_loaded()
Returns true if data has been loaded.
Definition: nucmass_wlw.h:93
virtual double mass_excess(int Z, int N)
Given Z and N, return the mass excess in MeV.
Tabulated nuclear masses [abstract base].
Definition: nucmass.h:325
int last
The last table index for caching.
Definition: nucmass_wlw.h:120
int N
Neutron number.
Definition: nucmass_wlw.h:67
Entry structure.
Definition: nucmass_wlw.h:60
int Z
Proton number.
Definition: nucmass_wlw.h:65
entry * mass
The array containing the mass data of length n.
Definition: nucmass_wlw.h:117
virtual bool is_included(int Z, int N)
Return false if the mass formula does not include specified nucleus.

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