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::d3XSec_dxdydt_E Class Reference

#include <GSLXSecFunc.h>

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

Public Member Functions

 d3XSec_dxdydt_E (const XSecAlgorithmI *m, const Interaction *i)
 
 ~d3XSec_dxdydt_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 194 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

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

Definition at line 357 of file GSLXSecFunc.cxx.

358  :
359 ROOT::Math::IBaseFunctionMultiDim(),
360 fModel(m),
361 fInteraction(i)
362 {
363 
364 }
const Interaction * fInteraction
Definition: GSLXSecFunc.h:207
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:206
genie::utils::gsl::d3XSec_dxdydt_E::~d3XSec_dxdydt_E ( )

Definition at line 365 of file GSLXSecFunc.cxx.

366 {
367 
368 }

Member Function Documentation

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

Definition at line 393 of file GSLXSecFunc.cxx.

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

Definition at line 373 of file GSLXSecFunc.cxx.

References genie::units::cm2, and genie::kPSxytfE.

374 {
375 // inputs:
376 // x [-]
377 // y [-]
378 // t [-]
379 // outputs:
380 // differential cross section [10^-38 cm^2]
381 //
382  //double E = fInteraction->InitState().ProbeE(kRfLab);
383  double x = xin[0];
384  double y = xin[1];
385  double t = xin[2];
386  fInteraction->KinePtr()->Setx(x);
387  fInteraction->KinePtr()->Sety(y);
388  fInteraction->KinePtr()->Sett(t);
389  double xsec = fModel->XSec(fInteraction, kPSxytfE);
390  return xsec/(1E-38 * units::cm2);
391 }
const Interaction * fInteraction
Definition: GSLXSecFunc.h:207
Kinematics * KinePtr(void) const
Definition: Interaction.h:76
static constexpr double cm2
Definition: Units.h:69
void Sett(double t, bool selected=false)
Definition: Kinematics.cxx:291
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:206
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 Sety(double y, bool selected=false)
Definition: Kinematics.cxx:243
unsigned int genie::utils::gsl::d3XSec_dxdydt_E::NDim ( void  ) const

Definition at line 369 of file GSLXSecFunc.cxx.

370 {
371  return 3;
372 }

Member Data Documentation

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

Definition at line 207 of file GSLXSecFunc.h.

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

Definition at line 206 of file GSLXSecFunc.h.


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