GENIEGenerator
Loading...
Searching...
No Matches
LwlynSmithFFNC.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 Costas Andreopoulos <c.andreopoulos \at cern.ch>
7 University of Liverpool
8*/
9//____________________________________________________________________________
10
11#include <TMath.h>
12
17
18using namespace genie;
19using namespace genie::constants;
20
21//____________________________________________________________________________
23LwlynSmithFF("genie::LwlynSmithFFNC")
24{
25
26}
27//____________________________________________________________________________
29LwlynSmithFF("genie::LwlynSmithFFNC", config)
30{
31
32}
33//____________________________________________________________________________
38//____________________________________________________________________________
39double LwlynSmithFFNC::F1V(const Interaction * interaction) const
40{
41 //-- calculate F1V-CC
42 double F1V_CC = LwlynSmithFF::F1V(interaction);
43
44 //-- calculate F1p (see hep-ph/0107261)
45 fELFF.Calculate(interaction);
46 double t = LwlynSmithFF::tau(interaction);
47 double F1p = fELFF.Gep() - t * fELFF.Gmp();
48
49 //-- calculate F1V-NC
50 double F1V_NC = 0.5*F1V_CC - 2*fSin28w*F1p;
51 return F1V_NC;
52}
53//____________________________________________________________________________
54double LwlynSmithFFNC::xiF2V(const Interaction * interaction) const
55{
56 //-- calculate xiF2V_CC
57 double xiF2V_CC = LwlynSmithFF::xiF2V(interaction);
58
59 //-- calculate F2p (see hep-ph/0107261)
60 fELFF.Calculate(interaction);
61 double F2p = (fELFF.Gmp() - fELFF.Gep()) / fMuP;
62
63 //-- calculate xiF2-NC
64 double xiF2V_NC = 0.5*xiF2V_CC - 2*fSin28w*(fMuP-1)*F2p;
65 return xiF2V_NC;
66}
67//____________________________________________________________________________
68double LwlynSmithFFNC::FA(const Interaction * interaction) const
69{
70 //-- calculate FA_CC(q2)
71 double FA_CC = LwlynSmithFF::FA(interaction);
72
73 //-- calculate & return FA_NC(q2)
74 double FA_NC = 0.5 * FA_CC;
75 return FA_NC;
76}
77//____________________________________________________________________________
78double LwlynSmithFFNC::Fp(const Interaction * interaction) const
79{
80 //-- get the momentum transfer
81 const Kinematics & kine = interaction->Kine();
82 double q2 = kine.q2();
83
84 //-- get struck nucleon mass & pion pass
85 const InitialState & init_state = interaction->InitState();
86 double MN = init_state.Tgt().HitNucMass();
87 double MN2 = TMath::Power(MN, 2);
88 double Mpi2 = TMath::Power(kPionMass, 2);
89
90 //-- calculate FA
91 double fa = this->FA(interaction);
92
93 //-- calculate and return Fp
94 double Fp_NC = 2*MN2*fa/(Mpi2-q2);
95 return Fp_NC;
96}
97//____________________________________________________________________________
Initial State information.
const Target & Tgt(void) 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 Fp(const Interaction *interaction) const
Compute the form factor Fp for the input interaction.
double FA(const Interaction *interaction) const
Compute the form factor FA for the input interaction.
double xiF2V(const Interaction *interaction) const
Compute the form factor xi*F2V for the input interaction.
double F1V(const Interaction *interaction) const
Compute the form factor F1V for the input interaction.
virtual double tau(const Interaction *interaction) const
virtual double FA(const Interaction *interaction) const
Compute the form factor FA for the input interaction.
virtual double xiF2V(const Interaction *interaction) const
Compute the form factor xi*F2V for the input interaction.
ELFormFactors fELFF
virtual double F1V(const Interaction *interaction) const
Compute the form factor F1V for the input interaction.
double HitNucMass(void) const
Definition Target.cxx:233
Basic constants.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25