GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NuclearUtils.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \namespace genie::utils::nuclear
5 
6 \brief Simple nuclear physics empirical formulas (densities, radii, ...)
7  and empirical nuclear corrections
8 
9 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
10  University of Liverpool
11 
12 \created May 06, 2004
13 
14 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16 
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _NUCLEAR_UTILS_H_
21 #define _NUCLEAR_UTILS_H_
22 
23 #include <string>
24 
26 
27 using std::string;
28 
29 namespace genie {
30 
31 class Target;
32 class Interaction;
33 
34 namespace utils {
35 
36 namespace nuclear
37 {
38  double BindEnergy (const Target & target);
39  double BindEnergy (int nucA, int nucZ);
40  double BindEnergyPerNucleon (const Target & target);
41  double BindEnergyLastNucleon (const Target & target);
42  double Radius (int A, double Ro=constants::kNucRo);
43 
44  double NuclQELXSecSuppression (string kftable, double pmax, const Interaction * in);
45 
46  double RQEFG_generic (
47  double q2, double Mn, double kFi, double kFf, double pmax);
48 
49  double FmI1 (double alpha, double beta,
50  double a, double b, double kFi, double kFf, double q);
51  double FmI2 (double alpha, double beta,
52  double a, double b, double kFi, double kFf, double q);
53  double FmArea (double alpha, double beta, double kf, double pmax);
54 
55  double DISNuclFactor (double x, int A);
56 
57  double Density (double r, int A, double ring=0.);
58  double DensityGaus (double r, double ap, double alf, double ring=0.);
59  double DensityWoodsSaxon (double r, double c, double z, double ring=0.);
60 
61  double BindEnergyPerNucleonParametrization(const Target & target);
62  double FermiMomentumForIsoscalarNucleonParametrization(const Target & target);
63 
64 
65 } // nuclear namespace
66 } // utils namespace
67 } // genie namespace
68 
69 #endif // _NUCL_UTILS_H_
double DensityGaus(double r, double ap, double alf, double ring=0.)
double FmArea(double alpha, double beta, double kf, double pmax)
double Density(double r, int A, double ring=0.)
double FmI2(double alpha, double beta, double a, double b, double kFi, double kFf, double q)
static constexpr double b
Definition: Units.h:78
double Radius(int A, double Ro=constants::kNucRo)
double RQEFG_generic(double q2, double Mn, double kFi, double kFf, double pmax)
double BindEnergy(const Target &target)
double BindEnergyPerNucleon(const Target &target)
static constexpr double A
Definition: Units.h:74
const double a
double BindEnergyPerNucleonParametrization(const Target &target)
double FmI1(double alpha, double beta, double a, double b, double kFi, double kFf, double q)
double BindEnergyLastNucleon(const Target &target)
double DensityWoodsSaxon(double r, double c, double z, double ring=0.)
double FermiMomentumForIsoscalarNucleonParametrization(const Target &target)
double DISNuclFactor(double x, int A)
double NuclQELXSecSuppression(string kftable, double pmax, const Interaction *in)