GENIEGenerator
Loading...
Searching...
No Matches
EffectiveSF.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::EffectiveSF
5
6\brief An effective spectral function to match psi' superscaling.
7 Implements the NuclearModelI interface.
8
9\ref http://arxiv.org/abs/1405.0583
10
11\author Brian Coopersmith, University of Rochester
12
13\created April 02, 2014
14
15\cpright Copyright (c) 2003-2025, The GENIE Collaboration
16 For the full text of the license visit http://copyright.genie-mc.org
17
18*/
19//____________________________________________________________________________
20
21#ifndef _EFFECTIVE_SF_H_
22#define _EFFECTIVE_SF_H_
23
24#include <map>
25
26#include <TH1D.h>
27
29
30using std::map;
31
32namespace genie {
33
34class EffectiveSF : public NuclearModelI {
35
36public:
38 EffectiveSF(string config);
39 virtual ~EffectiveSF();
40
41 using NuclearModelI::GenerateNucleon; // inherit versions not overridden here
43
44 //-- implement the NuclearModelI interface
45 bool GenerateNucleon (const Target & t) const;
46 double Prob (double mom, double w, const Target & t) const;
48 {
50 }
51
52 //-- override the Algorithm::Configure methods to load configuration
53 // data to private data members
54 void Configure (const Registry & config);
55 void Configure (string param_set);
56
57private:
58 TH1D * ProbDistro (const Target & t) const;
59
60 TH1D * MakeEffectiveSF(const Target & target) const;
61
62 TH1D * MakeEffectiveSF(double bs, double bp, double alpha, double beta,
63 double c1, double c2, double c3,
64 const Target & target) const;
65
66 double ReturnBindingEnergy(const Target & target) const;
67 double GetTransEnh1p1hMod(const Target& target) const;
68
69 double Returnf1p1h(const Target & target) const;
70 void LoadConfig (void);
71
72 mutable map<string, TH1D *> fProbDistroMap;
73 double fPMax;
74 double fPCutOff;
77
78 // Map from PDG code to spectral function parameters
79 map<int, double> fNucRmvE;
80 map<int, double> f1p1hMap;
81 map<int, std::vector<double> > fProbDistParams;
82 map<int, double> fTransEnh1p1hMods;
83
84 // Map from range of A (pair<lowA, highA> inclusive> to spectral
85 // function parameters.
86 map<pair<int, int>, double> fRangeNucRmvE;
87 map<pair<int, int>, double> fRange1p1hMap;
88 map<pair<int, int>, std::vector<double> > fRangeProbDistParams;
89 map<pair<int, int>, double> fRangeTransEnh1p1hMods;
90};
91
92} // genie namespace
93#endif // _EFFECTIVE_SF_H_
double Prob(double mom, double w, const Target &t) const
map< pair< int, int >, std::vector< double > > fRangeProbDistParams
Definition EffectiveSF.h:88
map< int, double > fNucRmvE
Definition EffectiveSF.h:79
map< pair< int, int >, double > fRangeTransEnh1p1hMods
Definition EffectiveSF.h:89
NuclearModel_t ModelType(const Target &) const
Definition EffectiveSF.h:47
double Returnf1p1h(const Target &target) const
void Configure(const Registry &config)
double GetTransEnh1p1hMod(const Target &target) const
TH1D * MakeEffectiveSF(const Target &target) const
map< string, TH1D * > fProbDistroMap
Definition EffectiveSF.h:72
map< pair< int, int >, double > fRangeNucRmvE
Definition EffectiveSF.h:86
double ReturnBindingEnergy(const Target &target) const
map< pair< int, int >, double > fRange1p1hMap
Definition EffectiveSF.h:87
map< int, double > f1p1hMap
Definition EffectiveSF.h:80
map< int, double > fTransEnh1p1hMods
Definition EffectiveSF.h:82
TH1D * ProbDistro(const Target &t) const
map< int, std::vector< double > > fProbDistParams
Definition EffectiveSF.h:81
bool GenerateNucleon(const Target &t) const
virtual double Prob(double p, double w, const Target &) const =0
virtual bool GenerateNucleon(const Target &) const =0
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
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::ENuclearModel NuclearModel_t
@ kNucmEffSpectralFunc