BBA07ELFormFactorsModel.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::BBA07ELFormFactorsModel
5 
6 \brief Computes elastic form factors using the BBA2007 parameterization.
7  Concrete implementation of the ELFormFactorsModelI interface.
8 
9 \ref A.Bodek, R.Bradford, H.Budd and S.Avvakumov,
10  Euro.Phys.J.C53 (2008);[arXiv:0708.1946 [hep-ex]]
11 
12 
13 \author Igor Kakorin <kakorin@jinr.ru>
14  Joint Institute for Nuclear Research \n
15 
16  adapted from fortran code provided by:
17  Konstantin Kuzmin <kkuzmin@theor.jinr.ru>, \n
18  Joint Institute for Nuclear Research
19  Institute for Theoretical and Experimental Physics \n
20 
21  Vladimir Lyubushkin, \n
22  Joint Institute for Nuclear Research \n
23 
24  Vadim Naumov <vnaumov@theor.jinr.ru>, \n
25  Joint Institute for Nuclear Research \n
26 
27  based on code of:
28  Costas Andreopoulos <constantinos.andreopoulos \at cern.ch> \n
29  University of Liverpool & STFC Rutherford Appleton Laboratory
30 
31 \created Dec 01, 2017
32 
33 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
34  For the full text of the license visit http://copyright.genie-mc.org
35 
36 */
37 //____________________________________________________________________________
38 
39 #ifndef _BBA2007_EL_FORM_FACTORS_MODEL_H_
40 #define _BBA2007_EL_FORM_FACTORS_MODEL_H_
41 
43 
44 namespace genie {
45 
46 typedef struct SBBA2007Fit
47 {
48  double a1, b1, b2, b3, p1, p2, p3, p4, p5, p6, p7;
49 }
51 
53 
54 public:
57  virtual ~BBA07ELFormFactorsModel();
58 
59  // implement the ELFormFactorsModelI interface
60  double Gep (const Interaction * interaction) const;
61  double Gmp (const Interaction * interaction) const;
62  double Gen (const Interaction * interaction) const;
63  double Gmn (const Interaction * interaction) const;
64 
65  // overload Algorithm's Configure() to load the BBA2007Fit_t
66  // structs from the configuration Registry
67  void Configure (const Registry & config);
68  void Configure (string param_set);
69 
70 private:
71 
72  // fill data members from the configuration Registry
73  void LoadConfig(void);
74 
75 
76  double AN (double x,double c1, double c2, double c3,double c4,double c5, double c6, double c7) const;
77 
78 
79 
80  // model parameters.
81  BBA2007Fit_t fGep; ///< BBA2007 fit coefficients for Gep
82  BBA2007Fit_t fGen; ///< BBA2007 fit coefficients for Gen
83  BBA2007Fit_t fGmp; ///< BBA2007 fit coefficients for Gmp
84  BBA2007Fit_t fGmn; ///< BBA2007 fit coefficients for Gmn
85  double fMuP; ///< Anomalous proton magnetic moment
86  double fMuN; ///< Anomalous neutron magnetic moment
87 };
88 
89 } // genie namespace
90 
91 #endif // _BBA2007_EL_FORM_FACTORS_MODEL_H_
BBA2007Fit_t fGen
BBA2007 fit coefficients for Gen.
Computes elastic form factors using the BBA2007 parameterization. Concrete implementation of the ELFo...
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
BBA2007Fit_t fGep
BBA2007 fit coefficients for Gep.
Summary information for an interaction.
Definition: Interaction.h:56
struct genie::SBBA2007Fit BBA2007Fit_t
Pure abstract base class. Defines the ELFormFactorsModelI interface to be implemented by any algorith...
static Config * config
Definition: config.cpp:1054
BBA2007Fit_t fGmn
BBA2007 fit coefficients for Gmn.
BBA2007Fit_t fGmp
BBA2007 fit coefficients for Gmp.
double fMuN
Anomalous neutron magnetic moment.
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(string mesg)
Definition: gEvServ.cxx:196
list x
Definition: train.py:276
double fMuP
Anomalous proton magnetic moment.