GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GalsterELFormFactorsModel.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::GalsterELFormFactorsModel
5 
6 \brief Concrete implementation of the ELFormFactorsModelI interface.
7  Computes elastic form factors using the Galster parameterization.
8 
9 \ref S.Galster et al., Nuclear Physics B32 (1971) 221-237
10 
11 \author Igor Kakorin <kakorin@jinr.ru>, Joint Institute for Nuclear Research
12 
13 \created May 19, 2019
14 
15 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _GALSTER_EL_FORM_FACTORS_MODEL_H_
22 #define _GALSTER_EL_FORM_FACTORS_MODEL_H_
23 
25 
26 namespace genie {
27 
28 
30 
31 public:
33  GalsterELFormFactorsModel(string config);
35 
36  // implement the ELFormFactorsModelI interface
37  double Gep (const Interaction * interaction) const;
38  double Gmp (const Interaction * interaction) const;
39  double Gen (const Interaction * interaction) const;
40  double Gmn (const Interaction * interaction) const;
41 
42  // overload Algorithm's Configure() to load the BBA2003Fit_t
43  // structs from the configuration Registry
44  void Configure (const Registry & config);
45  void Configure (string param_set);
46 
47 private:
48 
49  // fill data members from the configuration Registry
50  void LoadConfig(void);
51 
52  // model parameters.
53  double fGenp; ///< parameter for Gen
54  double fMv; ///< Elactic vector mass
55  double fMv2; ///< Elactic vector mass
56  double fMuP; ///< Anomalous proton magnetic moment
57  double fMuN; ///< Anomalous neutron magnetic moment
58 
59  bool fIsIsoscalarNucleon; ///< Is assuming isoscalar nucleon?
60 };
61 
62 } // genie namespace
63 
64 #endif // _GALSTER_EL_FORM_FACTORS_MODEL_H_
double Gmp(const Interaction *interaction) const
Compute the elastic form factor G_{mp} for the input interaction.
double Gep(const Interaction *interaction) const
Compute the elastic form factor G_{ep} for the input interaction.
Concrete implementation of the ELFormFactorsModelI interface. Computes elastic form factors using the...
Summary information for an interaction.
Definition: Interaction.h:56
Pure abstract base class. Defines the ELFormFactorsModelI interface to be implemented by any algorith...
double fMuN
Anomalous neutron magnetic moment.
bool fIsIsoscalarNucleon
Is assuming isoscalar nucleon?
double fMuP
Anomalous proton magnetic moment.
double Gmn(const Interaction *interaction) const
Compute the elastic form factor G_{mn} for the input interaction.
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.