SpectralFunc.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::SpectralFunc
5 
6 \brief A realistic spectral function - based nuclear model.
7  Is a concrete implementation of the NuclearModelI interface.
8 
9 \author Costas Andreopoulos <constantinos.andreopoulos \at cern.ch>
10  University of Liverpool & STFC Rutherford Appleton Laboratory
11 
12 \created May 07, 2004
13 
14 \cpright Copyright (c) 2003-2020, The GENIE Collaboration
15  For the full text of the license visit http://copyright.genie-mc.org
16 
17 
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _SPECTRAL_FUNCTION_H_
22 #define _SPECTRAL_FUNCTION_H_
23 
25 
26 class TNtupleD;
27 class TGraph2D;
28 
29 namespace genie {
30 
31 class SpectralFunc : public NuclearModelI {
32 
33 public:
34  SpectralFunc();
35  SpectralFunc(string config);
36  virtual ~SpectralFunc();
37 
38  using NuclearModelI::GenerateNucleon; // inherit versions not overridden here
39  using NuclearModelI::Prob;
40 
41  //-- implement the NuclearModelI interface
42  bool GenerateNucleon (const Target & t) const;
43  double Prob (double p, double w, const Target & t) const;
44  NuclearModel_t ModelType (const Target &) const
45  {
46  return kNucmSpectralFunc;
47  }
48 
49  //-- override the Algorithm::Configure methods to load configuration
50  // data to private data members
51  void Configure (const Registry & config);
52  void Configure (string config);
53 
54  protected:
55  void LoadConfig (void);
56 
57 private:
58 
59  TGraph2D * Convert2Graph (TNtupleD & data) const;
60  TGraph2D * SelectSpectralFunction (const Target & target) const;
61 
62  TGraph2D * fSfFe56; ///< Benhar's Fe56 SF
63  TGraph2D * fSfC12; ///< Benhar's C12 SF
64 };
65 
66 } // genie namespace
67 #endif // _SPECTRAL_FUNCTION_H_
TGraph2D * fSfFe56
Benhar&#39;s Fe56 SF.
Definition: SpectralFunc.h:62
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
A realistic spectral function - based nuclear model. Is a concrete implementation of the NuclearModel...
Definition: SpectralFunc.h:31
TGraph2D * Convert2Graph(TNtupleD &data) const
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
Definition: NuclearModelI.h:46
double Prob(double p, double w, const Target &t) const
static Config * config
Definition: config.cpp:1054
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Definition: Target.h:40
p
Definition: test.py:223
bool GenerateNucleon(const Target &t) const
enum genie::ENuclearModel NuclearModel_t
NuclearModel_t ModelType(const Target &) const
Definition: SpectralFunc.h:44
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(const Registry &config)
TGraph2D * fSfC12
Benhar&#39;s C12 SF.
Definition: SpectralFunc.h:63
virtual bool GenerateNucleon(const Target &) const =0
TGraph2D * SelectSpectralFunction(const Target &target) const
virtual double Prob(double p, double w, const Target &) const =0