GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TransverseEnhancementFFModel.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::TransverseEnhancementFFModel
5 
6 \brief Modification of magnetic form factors to match observed enhancement
7  in transverse cross section of the quasi-elastic peak.
8  Implements ElFormFactorsModelI. Requires another subclass of
9  ElFormFactorsModelI to calculate original form factors, which
10  are then enhances.
11 
12 \ref http://arxiv.org/pdf/1106.0340
13  http://arxiv.org/abs/1405.0583
14 
15 \author Brian Coopersmith, University of Rochester
16 
17 \created 10/22/2014
18 
19 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
20  For the full text of the license visit http://copyright.genie-mc.org
21 
22 */
23 //____________________________________________________________________________
24 
25 #ifndef _TRANSVERSE_ENHANCEMENT_FF_MODEL_H_
26 #define _TRANSVERSE_ENHANCEMENT_FF_MODEL_H_
27 
29 
30 namespace genie {
31 class Target;
32 
34 
35 public:
37  TransverseEnhancementFFModel(string config);
39 
40  // implement the ELFormFactorsModelI interface
41  double Gep (const Interaction * interaction) const;
42  double Gmp (const Interaction * interaction) const;
43  double Gen (const Interaction * interaction) const;
44  double Gmn (const Interaction * interaction) const;
45 
46  void Configure (const Registry & config);
47  void Configure (string param_set);
48 
49  void SetElFFBaseModel(const ELFormFactorsModelI* ffBase) const {
50  fElFormFactorsBase = ffBase;
51  }
52 
53 private:
54 
55  void GetTransEnhParams(const Target& target, double* transEnhA,
56  double* transEnhB) const;
57  void LoadConfig(void);
58  double GetTransEnhMagFF(
59  double magFF, const Interaction * interaction) const;
60 
62  map<int, double> fNucMagFF_RT_A;
63  map<int, double> fNucMagFF_RT_B;
64 
65  map<pair<int, int>, double> fRangeMagFF_RT_A;
66  map<pair<int, int>, double> fRangeMagFF_RT_B;
67 };
68 
69 } // genie namespace
70 #endif // _TRANSVERSE_ENHANCEMENT_FF_MODEL_H_
double Gmp(const Interaction *interaction) const
Compute the elastic form factor G_{mp} for the input interaction.
void SetElFFBaseModel(const ELFormFactorsModelI *ffBase) const
double Gmn(const Interaction *interaction) const
Compute the elastic form factor G_{mn} for the input interaction.
double Gen(const Interaction *interaction) const
Compute the elastic form factor G_{en} for the input interaction.
double GetTransEnhMagFF(double magFF, const Interaction *interaction) const
Summary information for an interaction.
Definition: Interaction.h:56
Pure abstract base class. Defines the ELFormFactorsModelI interface to be implemented by any algorith...
double Gep(const Interaction *interaction) const
Compute the elastic form factor G_{ep} for the input interaction.
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
void GetTransEnhParams(const Target &target, double *transEnhA, double *transEnhB) const
map< pair< int, int >, double > fRangeMagFF_RT_B
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
Modification of magnetic form factors to match observed enhancement in transverse cross section of th...
map< pair< int, int >, double > fRangeMagFF_RT_A