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

#include <GSLXSecFunc.h>

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

Public Member Functions

 d2XSec_dQ2dydt_E (const XSecAlgorithmI *m, const Interaction *i)
 
 ~d2XSec_dQ2dydt_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 173 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

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

Definition at line 314 of file GSLXSecFunc.cxx.

315  :
316 ROOT::Math::IBaseFunctionMultiDim(),
317 fModel(m),
318 fInteraction(i)
319 {
320 
321 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:185
const Interaction * fInteraction
Definition: GSLXSecFunc.h:186
genie::utils::gsl::d2XSec_dQ2dydt_E::~d2XSec_dQ2dydt_E ( )

Definition at line 322 of file GSLXSecFunc.cxx.

323 {
324 
325 }

Member Function Documentation

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

Definition at line 351 of file GSLXSecFunc.cxx.

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

Definition at line 330 of file GSLXSecFunc.cxx.

References genie::units::cm2, genie::kPSQ2yfE, genie::utils::kinematics::Q2(), and genie::utils::kinematics::UpdateXFromQ2Y().

331 {
332 // inputs:
333 // Q2 [-]
334 // y [-]
335 // t [-]
336 // outputs:
337 // differential cross section [10^-38 cm^2]
338 //
339  //double E = fInteraction->InitState().ProbeE(kRfLab);
340  double Q2 = xin[0];
341  double y = xin[1];
342  double t = xin[2];
343  fInteraction->KinePtr()->SetQ2(Q2);
344  fInteraction->KinePtr()->Sety(y);
345  fInteraction->KinePtr()->Sett(t);
347  double xsec = fModel->XSec(fInteraction, kPSQ2yfE);
348  return xsec/(1E-38 * units::cm2);
349 }
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:1077
void SetQ2(double Q2, bool selected=false)
Definition: Kinematics.cxx:255
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:185
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
void Sety(double y, bool selected=false)
Definition: Kinematics.cxx:243
void UpdateXFromQ2Y(const Interaction *in)
Definition: KineUtils.cxx:1344
const Interaction * fInteraction
Definition: GSLXSecFunc.h:186
unsigned int genie::utils::gsl::d2XSec_dQ2dydt_E::NDim ( void  ) const

Definition at line 326 of file GSLXSecFunc.cxx.

327 {
328  return 3;
329 }

Member Data Documentation

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

Definition at line 186 of file GSLXSecFunc.h.

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

Definition at line 185 of file GSLXSecFunc.h.


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