GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <c.andreopoulos \at cern.ch>
12  University of Liverpool
13 
14 \created Oct 19, 2005
15 
16 \cpright Copyright (c) 2003-2024, 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:
38  BBA03ELFormFactorsModel(string config);
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.
double Gmp(const Interaction *interaction) const
Compute the elastic form factor G_{mp} for the input interaction.
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 &gt; Q2Max.
BBA2003Fit_t fGep
BBA2003 fit coefficients for Gep.
double Gep(const Interaction *interaction) const
Compute the elastic form factor G_{ep} for the input interaction.
Summary information for an interaction.
Definition: Interaction.h:56
double fMuN
Anomalous neutron magnetic moment.
double Gen(const Interaction *interaction) const
Compute the elastic form factor G_{en} for the input interaction.
Pure abstract base class. Defines the ELFormFactorsModelI interface to be implemented by any algorith...
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(const Registry &config)
double fGenA
Krutov parameterization for Gen.
double fMv2
Elactic vector mass.
double BBA03Fit(double q2, double g0, const BBA2003Fit_t &fp) const
double Gmn(const Interaction *interaction) const
Compute the elastic form factor G_{mn} for the input interaction.