GENIEGenerator
Loading...
Searching...
No Matches
MArunAxialFormFactorModel.cxx
Go to the documentation of this file.
1//____________________________________________________________________________
2/*
3 Copyright (c) 2003-2025, The GENIE Collaboration
4 For the full text of the license visit http://copyright.genie-mc.org
5
6 Hugh Gallagher <hugh.gallagher@tufts.edu>
7
8 From code provided by:
9 Igor Kakorin <idkakorin@gmail.com>
10 Joint Institute for Nuclear Research, Dubna
11*/
12//____________________________________________________________________________
13
14#include <TMath.h>
15
20
21using namespace genie;
22
23//____________________________________________________________________________
25AxialFormFactorModelI("genie::MArunAxialFormFactorModel")
26{
27
28}
29//____________________________________________________________________________
31AxialFormFactorModelI("genie::MArunAxialFormFactorModel", config)
32{
33
34}
35//____________________________________________________________________________
40//____________________________________________________________________________
41double MArunAxialFormFactorModel::FA(const Interaction * interaction) const
42{
43 const InitialState & init_state = interaction->InitState();
44 const Target & target = init_state.Tgt();
45 // get scattering parameters
46 const Kinematics & kine = interaction->Kine();
47 double q2 = kine.q2();
48
49 double dn;
50 if (target.A()>2)
51 {
52 double E = init_state.ProbeE(kRfLab);
53 dn = TMath::Power(1.-q2/TMath::Power(fMa*(1+fE0/E), 2), 2);
54 }
55 else
56 dn = TMath::Power(1.-q2/fMa2, 2);
57 double fa = fFA0/dn;
58
59 LOG("MArunAxialFormFactorModel", pDEBUG) << "FA(q^2 = " << q2 << ") = " << fa;
60 return fa;
61}
62//____________________________________________________________________________
64{
66 this->LoadConfig();
67}
68//____________________________________________________________________________
70{
71 Algorithm::Configure(param_set);
72 this->LoadConfig();
73}
74//____________________________________________________________________________
76{
77 // axial mass
78 GetParam( "QEL-Ma", fMa ) ;
79 fMa2 = TMath::Power(fMa,2);
80
81 // E0 for calculating running axial mass: Ma*(1+E0/Enu)
82 GetParam( "QEL-E0", fE0 ) ;
83
84 // FA(q2 = 0)
85 GetParam( "QEL-FA0", fFA0 ) ;
86
87}
88//____________________________________________________________________________
#define pDEBUG
Definition Messenger.h:63
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Definition Messenger.h:96
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
virtual void Configure(const Registry &config)
Definition Algorithm.cxx:62
Initial State information.
const Target & Tgt(void) const
double ProbeE(RefFrame_t rf) const
Summary information for an interaction.
Definition Interaction.h:56
const Kinematics & Kine(void) const
Definition Interaction.h:71
const InitialState & InitState(void) const
Definition Interaction.h:69
Generated/set kinematical variables for an event.
Definition Kinematics.h:39
double q2(bool selected=false) const
double fE0
E0 for calculating running axial mass: Ma*(1+E0/Enu)
double FA(const Interaction *interaction) const
Compute the axial form factor.
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition Target.h:40
int A(void) const
Definition Target.h:70
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
@ kRfLab
Definition RefFrame.h:26