nucmass_sdnp.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_SDNP_H
24 #define O2SCL_NUCMASS_SDNP_H
25 
26 /** \file nucmass_sdnp.h
27  \brief File defining \ref o2scl::nucmass_sdnp
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 Stoitsov et al.
40 
41  \todo Unfinished.
42 
43  Models
44  - "sdnp03" - from Skyrme model SkM*
45  - "sd_skp_04" - from Skyrme model SkP
46  - "sd_sly4_04" - from Skyrme model SLy4
47 
48  See \ref Stoitsov03 and \ref Dobaczewski04 and
49  http://www.fuw.edu.pl/~dobaczew/thodri/thodri.html .
50  */
51  class nucmass_sdnp : public nucmass_table {
52 
53  public:
54 
55  nucmass_sdnp(std::string model="", bool external=false);
56 
57  ~nucmass_sdnp();
58 
59  /** \brief Entry structure
60 
61  */
62  class entry {
63 
64  public:
65 
66  /// Proton number
67  int Z;
68  /// Neutron number
69  int N;
70  /// HFB energy minimum (MeV)
71  double ENERGY;
72  /*
73  ///
74  double ACCURACY;
75  ///
76  double S_2N;
77  ///
78  double S_2P;
79  ///
80  double LAM_N;
81  ///
82  double LAM_P;
83  ///
84  double LA2_N;
85  ///
86  double LA2_P;
87  ///
88  double DEL_N;
89  ///
90  double DEL_P;
91  ///
92  double RAD_N;
93  ///
94  double RAD_P;
95  ///
96  double BETA;
97  ///
98  double Q20_N;
99  ///
100  double Q20_P;
101  */
102 
103  };
104 
105  /// Return the type, \c "nucmass_sdnp".
106  virtual const char *type() { return "nucmass_sdnp"; }
107 
108  /// Returns true if data has been loaded
109  bool is_loaded() { return (n>0); }
110 
111  /** \brief Return false if the mass formula does not include
112  specified nucleus
113  */
114  virtual bool is_included(int Z, int N);
115 
116  /// Return number of entries
117  int get_nentries() { return n; }
118 
119  /// Given \c Z and \c N, return the mass excess in MeV
120  virtual double mass_excess(int Z, int N);
121 
122 #ifndef DOXYGEN_INTERNAL
123 
124  protected:
125 
126  /// The number of entries (about 3000).
127  int n;
128 
129  /// The reference for the original data
130  std::string reference;
131 
132  /// The array containing the mass data of length n
134 
135  /// The last table index for caching
136  int last;
137 
138 #endif
139 
140  };
141 
142 #ifndef DOXYGEN_NO_O2NS
143 }
144 #endif
145 
146 #endif
Entry structure.
Definition: nucmass_sdnp.h:62
double ENERGY
HFB energy minimum (MeV)
Definition: nucmass_sdnp.h:71
bool is_loaded()
Returns true if data has been loaded.
Definition: nucmass_sdnp.h:109
virtual bool is_included(int Z, int N)
Return false if the mass formula does not include specified nucleus.
int last
The last table index for caching.
Definition: nucmass_sdnp.h:136
virtual double mass_excess(int Z, int N)
Given Z and N, return the mass excess in MeV.
int Z
Proton number.
Definition: nucmass_sdnp.h:67
std::string reference
The reference for the original data.
Definition: nucmass_sdnp.h:130
int n
The number of entries (about 3000).
Definition: nucmass_sdnp.h:127
virtual const char * type()
Return the type, "nucmass_sdnp".
Definition: nucmass_sdnp.h:106
Tabulated nuclear masses [abstract base].
Definition: nucmass.h:325
int get_nentries()
Return number of entries.
Definition: nucmass_sdnp.h:117
entry * mass
The array containing the mass data of length n.
Definition: nucmass_sdnp.h:133
int N
Neutron number.
Definition: nucmass_sdnp.h:69
Nuclear structure from Stoitsov et al.
Definition: nucmass_sdnp.h:51

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