GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BBA05ELFormFactorsModel.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::BBA05ELFormFactorsModel
5 
6 \brief Concrete implementation of the ELFormFactorsModelI interface.
7  Computes elastic form factors using the BBA2005 parameterization.
8 
9 \ref R.Bradford, A.Bodek, H.Budd and J.Arrington, hep-ex/0602017
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 _BBA2005_EL_FORM_FACTORS_MODEL_H_
22 #define _BBA2005_EL_FORM_FACTORS_MODEL_H_
23 
25 
26 namespace genie {
27 
28 typedef struct SBBA2005Fit
29 {
30  double a0, a1, a2, b1, b2, b3, b4;
31 }
33 
35 
36 public:
38  BBA05ELFormFactorsModel(string config);
39  virtual ~BBA05ELFormFactorsModel();
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 BBA2005Fit_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 BBA2005 fit function
58  double BBA05Fit (double tau, const BBA2005Fit_t & fp) const;
59  double tau (const Interaction * interaction) const;
60 
61  // model parameters.
62  BBA2005Fit_t fGep; ///< BBA2005 fit coefficients for Gep
63  BBA2005Fit_t fGen; ///< BBA2005 fit coefficients for Gen
64  BBA2005Fit_t fGmp; ///< BBA2005 fit coefficients for Gmp
65  BBA2005Fit_t fGmn; ///< BBA2005 fit coefficients for Gmn
66  double fMuP; ///< Anomalous proton magnetic moment
67  double fMuN; ///< Anomalous neutron magnetic moment
68 };
69 
70 } // genie namespace
71 
72 #endif // _BBA2005_EL_FORM_FACTORS_MODEL_H_
BBA2005Fit_t fGen
BBA2005 fit coefficients for Gen.
BBA2005Fit_t fGmp
BBA2005 fit coefficients for Gmp.
BBA2005Fit_t fGep
BBA2005 fit coefficients for Gep.
struct genie::SBBA2005Fit BBA2005Fit_t
Summary information for an interaction.
Definition: Interaction.h:56
Pure abstract base class. Defines the ELFormFactorsModelI interface to be implemented by any algorith...
double BBA05Fit(double tau, const BBA2005Fit_t &fp) const
Concrete implementation of the ELFormFactorsModelI interface. Computes elastic form factors using the...
double Gep(const Interaction *interaction) const
Compute the elastic form factor G_{ep} for the input interaction.
double Gmp(const Interaction *interaction) const
Compute the elastic form factor G_{mp} for the input interaction.
double Gmn(const Interaction *interaction) const
Compute the elastic form factor G_{mn} for the input interaction.
double tau(const Interaction *interaction) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(const Registry &config)
double Gen(const Interaction *interaction) const
Compute the elastic form factor G_{en} for the input interaction.
BBA2005Fit_t fGmn
BBA2005 fit coefficients for Gmn.
double fMuP
Anomalous proton magnetic moment.
double fMuN
Anomalous neutron magnetic moment.