GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MartiniEricsonChanfrayMarteauMECPXSec2016.cxx
Go to the documentation of this file.
1 //_________________________________________________________________________
2 /*
3  Copyright (c) 2003-2024, The GENIE Collaboration
4  For the full text of the license visit http://copyright.genie-mc.org
5 
6 */
7 //_________________________________________________________________________
8 
19 
20 using namespace genie;
21 using namespace genie::constants;
22 
23 //_________________________________________________________________________
26 XSecAlgorithmI("genie::MartiniEricsonChanfrayMarteauMECPXSec2016")
27 {
28 
29 }
30 //_________________________________________________________________________
33 XSecAlgorithmI("genie::NievesSimoVacasMECPXSec2016",config)
34 {
35 
36 }
37 //_________________________________________________________________________
40 {
41 
42 }
43 //_________________________________________________________________________
45  const Interaction * /*interaction*/, KinePhaseSpace_t /*kps*/) const
46 {
47 // The basic quantity calculated is d2sigma/(dT_l dcostheta_l)
48 
49  return 0;
50 }
51 //_________________________________________________________________________
53  const Interaction * interaction) const
54 {
55  double xsec = fXSecIntegrator->Integrate(this,interaction);
56  return xsec;
57 }
58 //_________________________________________________________________________
60  const Interaction * interaction) const
61 {
62  if (interaction->TestBit(kISkipProcessChk)) return true;
63 
64  const ProcessInfo & proc_info = interaction->ProcInfo();
65  if (!proc_info.IsMEC()) {
66  return false;
67  }
68  return true;
69 }
70 //_________________________________________________________________________
72  const Registry & config)
73 {
74  Algorithm::Configure(config);
75  this->LoadConfig();
76 }
77 //____________________________________________________________________________
79  string config)
80 {
81  Algorithm::Configure(config);
82  this->LoadConfig();
83 }
84 //_________________________________________________________________________
86 {
88  dynamic_cast<const XSecIntegratorI *> (
89  this->SubAlg("NumericalIntegrationAlg"));
90  assert(fXSecIntegrator);
91 }
92 //_________________________________________________________________________
Cross Section Calculation Interface.
Cross Section Integrator Interface.
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:46
virtual void Configure(const Registry &config)
Definition: Algorithm.cxx:62
bool IsMEC(void) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
const ProcessInfo & ProcInfo(void) const
Definition: Interaction.h:70
virtual double Integrate(const XSecAlgorithmI *model, const Interaction *interaction) const =0
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:345