GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DipoleAxialFormFactorModel.cxx
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*
3  Copyright (c) 2003-2024, The GENIE Collaboration
4  For the full text of the license visit http://copyright.genie-mc.org
5 
6  Aaron Meyer <asmeyer2012 \at uchicago.edu>
7 
8  based off DipoleELFormFactorsModel by
9  Costas Andreopoulos <c.andreopoulos \at cern.ch>
10  University of Liverpool
11 */
12 //____________________________________________________________________________
13 
14 #include <TMath.h>
15 
20 
21 using namespace genie;
22 
23 //____________________________________________________________________________
25 AxialFormFactorModelI("genie::DipoleAxialFormFactorModel")
26 {
27 
28 }
29 //____________________________________________________________________________
31 AxialFormFactorModelI("genie::DipoleAxialFormFactorModel", config)
32 {
33 
34 }
35 //____________________________________________________________________________
37 {
38 
39 }
40 //____________________________________________________________________________
41 double DipoleAxialFormFactorModel::FA(const Interaction * interaction) const
42 {
43  // calculate and return FA
44  double q2 = interaction->Kine().q2();
45  double fa = fFA0 / TMath::Power(1-q2/fMa2, 2);
46 
47  LOG("AxialFormFactor", pDEBUG) << "FA(q^2 = " << q2 << ") = " << fa;
48  return fa;
49 }
50 //____________________________________________________________________________
52 {
53  Algorithm::Configure(config);
54  this->LoadConfig();
55 }
56 //____________________________________________________________________________
58 {
59  Algorithm::Configure(param_set);
60  this->LoadConfig();
61 }
62 //____________________________________________________________________________
64 {
65  GetParam( "QEL-Ma", fMa ) ;
66  fMa2 = TMath::Power(fMa,2);
67 
68  // FA(q2 = 0)
69  GetParam( "QEL-FA0", fFA0 ) ;
70 }
71 //____________________________________________________________________________
double FA(const Interaction *interaction) const
Compute the axial form factor.
Pure abstract base class. Defines the AxialFormFactorModelI interface to be implemented by LlewellynS...
Summary information for an interaction.
Definition: Interaction.h:56
double q2(bool selected=false) const
Definition: Kinematics.cxx:141
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
const Kinematics & Kine(void) const
Definition: Interaction.h:71
virtual void Configure(const Registry &config)
Definition: Algorithm.cxx:62
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
#define pDEBUG
Definition: Messenger.h:63