GENIEGenerator
Loading...
Searching...
No Matches
QPMDISStrucFuncBase.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::QPMDISStrucFuncBase
5
6\brief Abstract base class.
7 Provides common implementation for concrete objects implementing the
8 DISStructureFuncModelI interface.
9
10\ref For a discussion of DIS SF see for example E.A.Paschos and J.Y.Yu,
11 Phys.Rev.D 65.033002 and R.Devenish and A.Cooper-Sarkar, OUP 2004.
12
13\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
14 University of Liverpool
15
16 Adapted from neugen 3.
17 Primary authors:
18 D.Naples (Pittsburgh U.), H.Gallagher (Tufts U), CA (RAL)
19
20\created May 03, 2004
21
22\cpright Copyright (c) 2003-2025, The GENIE Collaboration
23 For the full text of the license visit http://copyright.genie-mc.org
24*/
25//____________________________________________________________________________
26
27#ifndef _QPM_DIS_STRUCTURE_FUNCTIONS_BASE_H_
28#define _QPM_DIS_STRUCTURE_FUNCTIONS_BASE_H_
29
33
34namespace genie {
35
37
38public:
39 virtual ~QPMDISStrucFuncBase();
40
41 // common code for all DISFormFactorsModelI interface implementations
42 virtual double F1 (void) const { return fF1; }
43 virtual double F2 (void) const { return fF2; }
44 virtual double F3 (void) const { return fF3; }
45 virtual double F4 (void) const { return fF4; }
46 virtual double F5 (void) const { return fF5; }
47 virtual double F6 (void) const { return fF6; }
48
49 virtual void Calculate (const Interaction * interaction) const;
50
51 // overload Algorithm's Configure() to set the PDF data member
52 // from the configuration registry
53 void Configure (const Registry & config);
54 void Configure (string param_set);
55
56protected:
58 QPMDISStrucFuncBase(string name);
59 QPMDISStrucFuncBase(string name, string config);
60
61 // commom code for SF calculation for all DISFormFactorsModelI
62 // interface implementations inheriting from QPMDISStrucFuncBase
63 virtual void LoadConfig (void);
64 virtual void InitPDF (void);
65 virtual double Q2 (const Interaction * i) const;
66 virtual double ScalingVar (const Interaction * i) const;
67 virtual void CalcPDFs (const Interaction * i) const;
68 virtual double NuclMod (const Interaction * i) const;
69 virtual double R (const Interaction * i) const;
70 virtual void KFactors (const Interaction * i, double & kuv,
71 double & kdv, double & kus, double & kds) const;
72 // configuration
73 //
74 double fQ2min; ///< min Q^2 allowed for PDFs: PDF(Q2<Q2min):=PDF(Q2min)
75 bool fCharmOff; ///< turn charm production off?
76 bool fIncludeR; ///< include R (~FL) in DIS SF calculation?
77 bool fIncludeNuclMod; ///< include nuclear factor (shadowing, anti-shadowing,...)?
78 double fMc; ///< charm mass used
79 double fVcd; ///< CKM element Vcd used
80 double fVcs; ///< CKM element Vcs used
81 double fVud; ///< CKM element Vud used
82 double fVus; ///< CKM element Vcs used
83 double fVcd2; ///<
84 double fVcs2; ///<
85 double fVud2; ///<
86 double fVus2; ///<
87 double fSin2thw; ///<
88 bool fUse2016Corrections;///< Use 2016 SF relation corrections
89 double fLowQ2CutoffF1F2; ///< Set min for relation between 2xF1 and F2
90
91 mutable double fF1;
92 mutable double fF2;
93 mutable double fF3;
94 mutable double fF4;
95 mutable double fF5;
96 mutable double fF6;
97 PDF * fPDF; ///< computed PDFs @ (x,Q2)
98 PDF * fPDFc; ///< computed PDFs @ (slow-rescaling-var,Q2)
99 mutable double fuv;
100 mutable double fus;
101 mutable double fdv;
102 mutable double fds;
103 mutable double fs;
104 mutable double fc;
105 mutable double fuv_c;
106 mutable double fus_c;
107 mutable double fdv_c;
108 mutable double fds_c;
109 mutable double fs_c;
110 mutable double fc_c;
111
112};
113
114} // genie namespace
115#endif // _QPM_DIS_STRUCTURE_FUNCTIONS_BASE_H_
Summary information for an interaction.
Definition Interaction.h:56
A class to store PDFs.
Definition PDF.h:37
virtual double Q2(const Interaction *i) const
virtual double R(const Interaction *i) const
virtual double F5(void) const
Get the computed structure function F5.
virtual double F4(void) const
Get the computed structure function F4.
virtual double ScalingVar(const Interaction *i) const
double fVus
CKM element Vcs used.
virtual double NuclMod(const Interaction *i) const
double fVud
CKM element Vud used.
PDF * fPDFc
computed PDFs @ (slow-rescaling-var,Q2)
double fLowQ2CutoffF1F2
Set min for relation between 2xF1 and F2.
bool fUse2016Corrections
Use 2016 SF relation corrections.
double fQ2min
min Q^2 allowed for PDFs: PDF(Q2<Q2min):=PDF(Q2min)
bool fIncludeNuclMod
include nuclear factor (shadowing, anti-shadowing,...)?
double fVcs
CKM element Vcs used.
virtual double F6(void) const
Get the computed structure function F6.
double fVcd
CKM element Vcd used.
void Configure(const Registry &config)
virtual void CalcPDFs(const Interaction *i) const
virtual void Calculate(const Interaction *interaction) const
Calculate the structure functions F1-F6 for the input interaction.
bool fIncludeR
include R (~FL) in DIS SF calculation?
virtual double F3(void) const
Get the computed structure function F3.
virtual double F1(void) const
Get the computed structure function F1.
virtual void KFactors(const Interaction *i, double &kuv, double &kdv, double &kus, double &kds) const
virtual double F2(void) const
Get the computed structure function F2.
PDF * fPDF
computed PDFs @ (x,Q2)
bool fCharmOff
turn charm production off?
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25