GENIEGenerator
Loading...
Searching...
No Matches
QPMDMDISStrucFuncBase.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::QPMDMDISStrucFuncBase
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
28#ifndef _DM_QPM_DIS_STRUCTURE_FUNCTIONS_BASE_H_
29#define _DM_QPM_DIS_STRUCTURE_FUNCTIONS_BASE_H_
30
34
35namespace genie {
36
38
39public:
40 virtual ~QPMDMDISStrucFuncBase();
41
42 // common code for all DISFormFactorsModelI interface implementations
43 virtual double F1 (void) const { return fF1; }
44 virtual double F2 (void) const { return fF2; }
45 virtual double F3 (void) const { return fF3; }
46 virtual double F4 (void) const { return fF4; }
47 virtual double F5 (void) const { return fF5; }
48 virtual double F6 (void) const { return fF6; }
49
50 virtual void Calculate (const Interaction * interaction) const;
51
52 // overload Algorithm's Configure() to set the PDF data member
53 // from the configuration registry
54 void Configure (const Registry & config);
55 void Configure (string param_set);
56
57protected:
59 QPMDMDISStrucFuncBase(string name);
60 QPMDMDISStrucFuncBase(string name, string config);
61
62 // commom code for SF calculation for all DISFormFactorsModelI
63 // interface implementations inheriting from QPMDMDISStrucFuncBase
64 virtual void LoadConfig (void);
65 virtual void InitPDF (void);
66 virtual double Q2 (const Interaction * i) const;
67 virtual double ScalingVar (const Interaction * i) const;
68 virtual void CalcPDFs (const Interaction * i) const;
69 virtual double NuclMod (const Interaction * i) const;
70 virtual double R (const Interaction * i) const;
71 virtual void KFactors (const Interaction * i, double & kuv,
72 double & kdv, double & kus, double & kds) const;
73 // configuration
74 //
75 double fQ2min; ///< min Q^2 allowed for PDFs: PDF(Q2<Q2min):=PDF(Q2min)
76 bool fCharmOff; ///< turn charm production off?
77 bool fIncludeR; ///< include R (~FL) in DIS SF calculation?
78 bool fIncludeNuclMod; ///< include nuclear factor (shadowing, anti-shadowing,...)?
79 double fMc; ///< charm mass used
80 double fQuL; ///< Up Left Dark Matter Coupling
81 double fQuR; ///< Up Right Dark Matter Coupling
82 double fQcL; ///< Charm Left Dark Matter Coupling
83 double fQcR; ///< Charm Right Dark Matter Coupling
84 double fQdL; ///< Down Left Dark Matter Coupling
85 double fQdR; ///< Down Right Dark Matter Coupling
86 double fQsL; ///< Strange Left Dark Matter Coupling
87 double fQsR; ///< Strange Right Dark Matter Coupling
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_
116
Summary information for an interaction.
Definition Interaction.h:56
A class to store PDFs.
Definition PDF.h:37
virtual double F1(void) const
Get the computed structure function F1.
virtual double F3(void) const
Get the computed structure function F3.
PDF * fPDF
computed PDFs @ (x,Q2)
virtual double F2(void) const
Get the computed structure function F2.
bool fUse2016Corrections
Use 2016 SF relation corrections.
PDF * fPDFc
computed PDFs @ (slow-rescaling-var,Q2)
virtual double F5(void) const
Get the computed structure function F5.
double fQcR
Charm Right Dark Matter Coupling.
double fQsR
Strange Right Dark Matter Coupling.
virtual void KFactors(const Interaction *i, double &kuv, double &kdv, double &kus, double &kds) const
double fQcL
Charm Left Dark Matter Coupling.
virtual double ScalingVar(const Interaction *i) const
virtual double Q2(const Interaction *i) const
bool fIncludeR
include R (~FL) in DIS SF calculation?
virtual double F6(void) const
Get the computed structure function F6.
double fLowQ2CutoffF1F2
Set min for relation between 2xF1 and F2.
virtual void CalcPDFs(const Interaction *i) const
double fQdR
Down Right Dark Matter Coupling.
virtual double NuclMod(const Interaction *i) const
double fQdL
Down Left Dark Matter Coupling.
virtual void Calculate(const Interaction *interaction) const
Calculate the structure functions F1-F6 for the input interaction.
double fQsL
Strange Left Dark Matter Coupling.
bool fCharmOff
turn charm production off?
virtual double R(const Interaction *i) const
double fQuL
Up Left Dark Matter Coupling.
virtual double F4(void) const
Get the computed structure function F4.
double fQ2min
min Q^2 allowed for PDFs: PDF(Q2<Q2min):=PDF(Q2min)
void Configure(const Registry &config)
double fQuR
Up Right Dark Matter Coupling.
bool fIncludeNuclMod
include nuclear factor (shadowing, anti-shadowing,...)?
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25