All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
nucmass_wlw.h
Go to the documentation of this file.
1 /*
2  -------------------------------------------------------------------
3 
4  Copyright (C) 2014, 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:324
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).
Hosted at Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads..