GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
genie::utils::gsl::d2Xsec_dn1dn2_E Class Reference

#include <GSLXSecFunc.h>

Inheritance diagram for genie::utils::gsl::d2Xsec_dn1dn2_E:
Inheritance graph
[legend]
Collaboration diagram for genie::utils::gsl::d2Xsec_dn1dn2_E:
Collaboration graph
[legend]

Public Member Functions

 d2Xsec_dn1dn2_E (const XSecAlgorithmI *m, const Interaction *i, double scale=1.)
 
 ~d2Xsec_dn1dn2_E ()
 
unsigned int NDim (void) const
 
double DoEval (const double *xin) const
 
ROOT::Math::IBaseFunctionMultiDim * Clone (void) const
 

Private Attributes

const XSecAlgorithmIfModel
 
const InteractionfInteraction
 
double fScale
 

Detailed Description

Definition at line 480 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

genie::utils::gsl::d2Xsec_dn1dn2_E::d2Xsec_dn1dn2_E ( const XSecAlgorithmI m,
const Interaction i,
double  scale = 1. 
)

Definition at line 1088 of file GSLXSecFunc.cxx.

1089  :
1090 ROOT::Math::IBaseFunctionMultiDim(),
1091 fModel(m),
1092 fInteraction(i),
1093 fScale(scale)
1094 {
1095 
1096 }
const Interaction * fInteraction
Definition: GSLXSecFunc.h:491
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:490
genie::utils::gsl::d2Xsec_dn1dn2_E::~d2Xsec_dn1dn2_E ( )

Definition at line 1098 of file GSLXSecFunc.cxx.

1099 {
1100 
1101 }

Member Function Documentation

ROOT::Math::IBaseFunctionMultiDim * genie::utils::gsl::d2Xsec_dn1dn2_E::Clone ( void  ) const

Definition at line 1129 of file GSLXSecFunc.cxx.

double genie::utils::gsl::d2Xsec_dn1dn2_E::DoEval ( const double *  xin) const

Definition at line 1108 of file GSLXSecFunc.cxx.

References genie::units::cm2, genie::kKVn1, genie::kKVn2, genie::kPSn1n2fE, and genie::Kinematics::SetKV().

1109 {
1110 // inputs:
1111 // n1
1112 // n2
1113 // outputs:
1114 // differential cross section (hbar=c=1 units)
1115 //
1116 
1117  double n1 = xin[0];
1118  double n2 = xin[1];
1119 
1120  Kinematics * kinematics = fInteraction->KinePtr();
1121  kinematics->SetKV(kKVn1, n1);
1122  kinematics->SetKV(kKVn2, n2);
1123 
1124  double xsec = fModel->XSec(fInteraction, kPSn1n2fE);
1125  return fScale*xsec/(1E-38 * units::cm2);
1126 }
Kinematics * KinePtr(void) const
Definition: Interaction.h:76
Generated/set kinematical variables for an event.
Definition: Kinematics.h:39
const Interaction * fInteraction
Definition: GSLXSecFunc.h:491
static constexpr double cm2
Definition: Units.h:69
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
void SetKV(KineVar_t kv, double value)
Definition: Kinematics.cxx:335
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:490
unsigned int genie::utils::gsl::d2Xsec_dn1dn2_E::NDim ( void  ) const

Definition at line 1103 of file GSLXSecFunc.cxx.

1104 {
1105  return 2;
1106 }

Member Data Documentation

const Interaction* genie::utils::gsl::d2Xsec_dn1dn2_E::fInteraction
private

Definition at line 491 of file GSLXSecFunc.h.

const XSecAlgorithmI* genie::utils::gsl::d2Xsec_dn1dn2_E::fModel
private

Definition at line 490 of file GSLXSecFunc.h.

double genie::utils::gsl::d2Xsec_dn1dn2_E::fScale
private

Definition at line 492 of file GSLXSecFunc.h.


The documentation for this class was generated from the following files: