GENIEGenerator
Loading...
Searching...
No Matches
NuclDensityMomentIntegrand.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3\class genie::utils::gsl::wrap::NuclDensityMomentIntegrand
4
5\brief Integrand for the calculation of the k^th nuclear density moment:
6 \int_{0}^{\infinity} \rho_{A}(r) r^k d^{3}r
7 where \rho_{A}(r) is the nuclear density for a nucleus with atomic
8 mass number A.
9
10\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
11 University of Liverpool
12
13\created July 12, 2019
14
15\cpright Copyright (c) 2003-2025, The GENIE Collaboration
16 For the full text of the license visit http://copyright.genie-mc.org
17*/
18//____________________________________________________________________________
19
20#ifndef _NUCL_DENSITY_MOMENT_INTEGRAND_H_
21#define _NUCL_DENSITY_MOMENT_INTEGRAND_H_
22
23#include <Math/IFunction.h>
24
25namespace genie {
26 namespace utils {
27 namespace gsl {
28 namespace wrap {
29
30 class NuclDensityMomentIntegrand : public ROOT::Math::IBaseFunctionOneDim
31 {
32 public:
33 NuclDensityMomentIntegrand(int A, int k /*, would be good to have options on \rho */);
35 // ROOT::Math::IBaseFunctionOneDim interface
36 unsigned int NDim (void) const;
37 double DoEval (double xin) const;
38 ROOT::Math::IBaseFunctionOneDim * Clone (void) const;
39 private:
40 int fA; // atomic mass
41 int fK; // which nuclear density moment
42 };
43
44 } // wrap namespace
45 } // gsl namespace
46 } // utils namespace
47} // genie namespace
48
49
50#endif // _NUCL_DENSITY_MOMENT_INTEGRAND_H_
ROOT::Math::IBaseFunctionOneDim * Clone(void) const
Simple utilities for integrating GSL in the GENIE framework.
Root of GENIE utility namespaces.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25