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

#include <GSLXSecFunc.h>

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

Public Member Functions

 d2XSec_dQ2dy_E (const XSecAlgorithmI *m, const Interaction *i)
 
 ~d2XSec_dQ2dy_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 152 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

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

Definition at line 237 of file GSLXSecFunc.cxx.

238  :
239 ROOT::Math::IBaseFunctionMultiDim(),
240 fModel(m),
241 fInteraction(i)
242 {
243 
244 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:164
const Interaction * fInteraction
Definition: GSLXSecFunc.h:165
genie::utils::gsl::d2XSec_dQ2dy_E::~d2XSec_dQ2dy_E ( )

Definition at line 245 of file GSLXSecFunc.cxx.

246 {
247 
248 }

Member Function Documentation

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

Definition at line 270 of file GSLXSecFunc.cxx.

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

Definition at line 253 of file GSLXSecFunc.cxx.

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

254 {
255 // inputs:
256 // Q2 [-]
257 // y [-]
258 // outputs:
259 // differential cross section [10^-38 cm^2]
260 //
261  double Q2 = xin[0];
262  double y = xin[1];
263  fInteraction->KinePtr()->SetQ2(Q2);
264  fInteraction->KinePtr()->Sety(y);
266  double xsec = fModel->XSec(fInteraction, kPSQ2yfE);
267  return xsec/(1E-38 * units::cm2);
268 }
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
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:164
static constexpr double cm2
Definition: Units.h:69
const Interaction * fInteraction
Definition: GSLXSecFunc.h:165
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
unsigned int genie::utils::gsl::d2XSec_dQ2dy_E::NDim ( void  ) const

Definition at line 249 of file GSLXSecFunc.cxx.

250 {
251  return 2;
252 }

Member Data Documentation

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

Definition at line 165 of file GSLXSecFunc.h.

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

Definition at line 164 of file GSLXSecFunc.h.


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