EvtLibPXSec.h
Go to the documentation of this file.
1 #ifndef _LLEWELLYN_SMITH_QELCC_CROSS_SECTION_H_
2 #define _LLEWELLYN_SMITH_QELCC_CROSS_SECTION_H_
3 
5 
6 #include "Tools/EvtLib/Key.h"
7 
8 class TGraph;
9 
10 namespace genie {
11 namespace evtlib {
12 
13 class EvtLibPXSec : public XSecAlgorithmI {
14 
15 public:
16  EvtLibPXSec();
17  EvtLibPXSec(string config);
18  virtual ~EvtLibPXSec();
19 
20  // XSecAlgorithmI interface implementation
21  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
22  double Integral (const Interaction * i) const;
23  bool ValidProcess (const Interaction * i) const;
24 
25  // Override the Algorithm::Configure methods to load configuration
26  // data to private data members
27  void Configure (const Registry & config);
28  void Configure (string param_set);
29 
30 protected:
31  TGraph* GetXSec(const Interaction* in) const;
32  void LoadXSecs();
33  void ClearXSecs();
34 
35  std::map<Key, TGraph*> fXSecs;
36 };
37 
38 } // evtlib namespace
39 } // genie namespace
40 
41 #endif
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
Definition: EvtLibPXSec.cxx:58
enum genie::EKinePhaseSpace KinePhaseSpace_t
void Configure(const Registry &config)
Definition: EvtLibPXSec.cxx:64
Summary information for an interaction.
Definition: Interaction.h:56
static Config * config
Definition: config.cpp:1054
TGraph * GetXSec(const Interaction *in) const
std::map< Key, TGraph * > fXSecs
Definition: EvtLibPXSec.h:35
double Integral(const Interaction *i) const
Definition: EvtLibPXSec.cxx:45
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Definition: EvtLibPXSec.cxx:37
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65