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_dxdy_E Class Reference

#include <GSLXSecFunc.h>

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

Public Member Functions

 d2XSec_dxdy_E (const XSecAlgorithmI *m, const Interaction *i)
 
 ~d2XSec_dxdy_E ()
 
unsigned int NDim (void) const
 
double DoEval (const double *xin) const
 
ROOT::Math::IBaseFunctionMultiDim * Clone (void) const
 

Private Attributes

const XSecAlgorithmIfModel
 
const InteractionfInteraction
 

Detailed Description

Definition at line 109 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

genie::utils::gsl::d2XSec_dxdy_E::d2XSec_dxdy_E ( const XSecAlgorithmI m,
const Interaction i 
)

Definition at line 198 of file GSLXSecFunc.cxx.

199  :
200 ROOT::Math::IBaseFunctionMultiDim(),
201 fModel(m),
202 fInteraction(i)
203 {
204 
205 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:121
const Interaction * fInteraction
Definition: GSLXSecFunc.h:122
genie::utils::gsl::d2XSec_dxdy_E::~d2XSec_dxdy_E ( )

Definition at line 206 of file GSLXSecFunc.cxx.

207 {
208 
209 }

Member Function Documentation

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

Definition at line 231 of file GSLXSecFunc.cxx.

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

Definition at line 214 of file GSLXSecFunc.cxx.

References genie::units::cm2, genie::kPSxyfE, and genie::utils::kinematics::UpdateWQ2FromXY().

215 {
216 // inputs:
217 // x [-]
218 // y [-]
219 // outputs:
220 // differential cross section [10^-38 cm^2]
221 //
222  double x = xin[0];
223  double y = xin[1];
224  fInteraction->KinePtr()->Setx(x);
225  fInteraction->KinePtr()->Sety(y);
227  double xsec = fModel->XSec(fInteraction, kPSxyfE);
228  return xsec/(1E-38 * units::cm2);
229 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:121
Kinematics * KinePtr(void) const
Definition: Interaction.h:76
static constexpr double cm2
Definition: Units.h:69
const Interaction * fInteraction
Definition: GSLXSecFunc.h:122
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
void Setx(double x, bool selected=false)
Definition: Kinematics.cxx:231
void UpdateWQ2FromXY(const Interaction *in)
Definition: KineUtils.cxx:1290
void Sety(double y, bool selected=false)
Definition: Kinematics.cxx:243
unsigned int genie::utils::gsl::d2XSec_dxdy_E::NDim ( void  ) const

Definition at line 210 of file GSLXSecFunc.cxx.

211 {
212  return 2;
213 }

Member Data Documentation

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

Definition at line 122 of file GSLXSecFunc.h.

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

Definition at line 121 of file GSLXSecFunc.h.


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