GENIEGenerator
Loading...
Searching...
No Matches
PhotonStrucFunc.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::PhotonStrucFunc
5
6\brief Structure function using photon PDFs of nucleons
7
8\author Alfonso Garcia <aagarciasoto \at km3net.de>
9 IFIC & Harvard University
10
11\created Dec 8, 2021
12
13\cpright Copyright (c) 2003-2025, The GENIE Collaboration
14 For the full text of the license visit http://copyright.genie-mc.org
15 or see $GENIE/LICENSE
16*/
17//____________________________________________________________________________
18
19#ifndef _PHOTON_STRUC_FUNC_H_
20#define _PHOTON_STRUC_FUNC_H_
21
23
24#include <map>
25
26using std::map;
27
28namespace genie {
29
30 struct SF_x {
31 double Fp1,Fm1;
32 double Fp2,Fm2;
33 double Fp3,Fm3;
34 };
35
37 {
38 public:
39
40 // ................................................................
41 // GLRES form factor type
42 //
43
45 {
46 public:
48 ~PhotonStrucFuncTable() { /* note: should delete the grids! */ }
49 map< int, genie::Spline * > Table;
50 };
51
52 // ................................................................
53
54 static PhotonStrucFunc * Instance(void);
55
56 double EvalSF ( int hitnuc, int hitlep, double x ) { return fSFTables[hitnuc].Table[hitlep]->Evaluate(x); }
57
58 private:
59
60 // Ctors & dtor
64
65 // Self
67
68 // These map holds all SF tables (interaction channel is the key)
69 map<int, PhotonStrucFuncTable> fSFTables;
70
71
72 // singleton cleaner
82 friend struct Cleaner;
83 };
84
85} // genie namespace
86
87#endif // _PHOTON_STRUC_FUNC_H_
static PhotonStrucFunc * fgInstance
double EvalSF(int hitnuc, int hitlep, double x)
static PhotonStrucFunc * Instance(void)
PhotonStrucFunc(const PhotonStrucFunc &)
map< int, PhotonStrucFuncTable > fSFTables
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25