BBA03ELFormFactorsModel.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::BBA03ELFormFactorsModel
5 
6 \brief Concrete implementation of the ELFormFactorsModelI interface.
7  Computes elastic form factors using the BBA2003 parameterization.
8 
9 \ref H.Budd, NuINT-02 proceedings
10 
11 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
12  University of Liverpool & STFC Rutherford Appleton Laboratory
13 
14 \created Oct 19, 2005
15 
16 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
17  For the full text of the license visit http://copyright.genie-mc.org
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _BBA2003_EL_FORM_FACTORS_MODEL_H_
22 #define _BBA2003_EL_FORM_FACTORS_MODEL_H_
23 
25 
26 namespace genie {
27 
28 typedef struct SBBA2003Fit
29 {
30  double a2, a4, a6, a8, a10, a12;
31 }
33 
35 
36 public:
39  virtual ~BBA03ELFormFactorsModel();
40 
41  // implement the ELFormFactorsModelI interface
42  double Gep (const Interaction * interaction) const;
43  double Gmp (const Interaction * interaction) const;
44  double Gen (const Interaction * interaction) const;
45  double Gmn (const Interaction * interaction) const;
46 
47  // overload Algorithm's Configure() to load the BBA2003Fit_t
48  // structs from the configuration Registry
49  void Configure (const Registry & config);
50  void Configure (string param_set);
51 
52 private:
53 
54  // fill data members from the configuration Registry
55  void LoadConfig(void);
56 
57  // the actual BBA2003 inverse polynomial fit function
58  double BBA03Fit(double q2, double g0, const BBA2003Fit_t & fp) const;
59 
60  // model parameters.
61  BBA2003Fit_t fGep; ///< BBA2003 fit coefficients for Gep
62  BBA2003Fit_t fGmp; ///< BBA2003 fit coefficients for Gmp
63  BBA2003Fit_t fGmn; ///< BBA2003 fit coefficients for Gmn
64  double fGenA; ///< Krutov parameterization for Gen
65  double fGenB; ///< Krutov parameterization for Gen
66  double fQ2Max; ///< Gep/Gmp assummed const for Q2 > Q2Max
67  double fMv; ///< Elactic vector mass
68  double fMv2; ///< Elactic vector mass
69  double fMuP; ///< Anomalous proton magnetic moment
70  double fMuN; ///< Anomalous neutron magnetic moment
71 };
72 
73 } // genie namespace
74 
75 #endif // _BBA2003_EL_FORM_FACTORS_MODEL_H_
double fMuP
Anomalous proton magnetic moment.
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
BBA2003Fit_t fGmn
BBA2003 fit coefficients for Gmn.
double fMv
Elactic vector mass.
struct genie::SBBA2003Fit BBA2003Fit_t
double fQ2Max
Gep/Gmp assummed const for Q2 > Q2Max.
BBA2003Fit_t fGep
BBA2003 fit coefficients for Gep.
Summary information for an interaction.
Definition: Interaction.h:56
double fMuN
Anomalous neutron magnetic moment.
Pure abstract base class. Defines the ELFormFactorsModelI interface to be implemented by any algorith...
static Config * config
Definition: config.cpp:1054
Concrete implementation of the ELFormFactorsModelI interface. Computes elastic form factors using the...
double fGenB
Krutov parameterization for Gen.
BBA2003Fit_t fGmp
BBA2003 fit coefficients for Gmp.
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(string mesg)
Definition: gEvServ.cxx:196
double fGenA
Krutov parameterization for Gen.
double fMv2
Elactic vector mass.