MartiniEricsonChanfrayMarteauMECPXSec2016.cxx
Go to the documentation of this file.
1 //_________________________________________________________________________
2 /*
3  Copyright (c) 2003-2019, The GENIE Collaboration
4  For the full text of the license visit http://copyright.genie-mc.org
5  or see $GENIE/LICENSE
6 
7  For the class documentation see the corresponding header file.
8 */
9 //_________________________________________________________________________
10 
22 
23 using namespace genie;
24 using namespace genie::constants;
25 
26 //_________________________________________________________________________
29 XSecAlgorithmI("genie::MartiniEricsonChanfrayMarteauMECPXSec2016")
30 {
31 
32 }
33 //_________________________________________________________________________
36 XSecAlgorithmI("genie::NievesSimoVacasMECPXSec2016",config)
37 {
38 
39 }
40 //_________________________________________________________________________
43 {
44 
45 }
46 //_________________________________________________________________________
48  const Interaction * /*interaction*/, KinePhaseSpace_t /*kps*/) const
49 {
50 // The basic quantity calculated is d2sigma/(dT_l dcostheta_l)
51 
52  return 0;
53 }
54 //_________________________________________________________________________
56  const Interaction * interaction) const
57 {
58  double xsec = fXSecIntegrator->Integrate(this,interaction);
59  return xsec;
60 }
61 //_________________________________________________________________________
63  const Interaction * interaction) const
64 {
65  if (interaction->TestBit(kISkipProcessChk)) return true;
66 
67  const ProcessInfo & proc_info = interaction->ProcInfo();
68  if (!proc_info.IsMEC()) {
69  return false;
70  }
71  return true;
72 }
73 //_________________________________________________________________________
75  const Registry & config)
76 {
77  Algorithm::Configure(config);
78  this->LoadConfig();
79 }
80 //____________________________________________________________________________
82  string config)
83 {
84  Algorithm::Configure(config);
85  this->LoadConfig();
86 }
87 //_________________________________________________________________________
89 {
91  dynamic_cast<const XSecIntegratorI *> (
92  this->SubAlg("NumericalIntegrationAlg"));
94 }
95 //_________________________________________________________________________
Cross Section Calculation Interface.
Basic constants.
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
Cross Section Integrator Interface.
Definition: config.py:1
enum genie::EKinePhaseSpace KinePhaseSpace_t
Summary information for an interaction.
Definition: Interaction.h:56
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
Definition: ProcessInfo.h:44
virtual void Configure(const Registry &config)
Definition: Algorithm.cxx:70
Double_t xsec[nknots]
Definition: testXsec.C:47
bool IsMEC(void) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
virtual double Integrate(const XSecAlgorithmI *model, const Interaction *interaction) const =0
assert(nhit_max >=nhit_nbins)
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
const ProcessInfo & ProcInfo(void) const
Definition: Interaction.h:70
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
const UInt_t kISkipProcessChk
if set, skip process validity checks
Definition: Interaction.h:47
const Algorithm * SubAlg(const RgKey &registry_key) const
Definition: Algorithm.cxx:353