Public Member Functions | Private Attributes | List of all members
genie::utils::gsl::d2XSec_dWdQ2_E Class Reference

#include <GSLXSecFunc.h>

Inheritance diagram for genie::utils::gsl::d2XSec_dWdQ2_E:

Public Member Functions

 d2XSec_dWdQ2_E (const XSecAlgorithmI *m, const Interaction *i)
 
 ~d2XSec_dWdQ2_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 215 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

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

Definition at line 399 of file GSLXSecFunc.cxx.

400  :
401 ROOT::Math::IBaseFunctionMultiDim(),
402 fModel(m),
403 fInteraction(i)
404 {
405 
406 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:227
const Interaction * fInteraction
Definition: GSLXSecFunc.h:228
genie::utils::gsl::d2XSec_dWdQ2_E::~d2XSec_dWdQ2_E ( )

Definition at line 407 of file GSLXSecFunc.cxx.

408 {
409 
410 }

Member Function Documentation

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

Definition at line 441 of file GSLXSecFunc.cxx.

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

Definition at line 415 of file GSLXSecFunc.cxx.

416 {
417 // inputs:
418 // W [GeV]
419 // Q2 [GeV^2]
420 // outputs:
421 // differential cross section [10^-38 cm^2/GeV^3]
422 //
423  double W = xin[0];
424  double Q2 = xin[1];
425  fInteraction->KinePtr()->SetW(W);
426  fInteraction->KinePtr()->SetQ2(Q2);
429  double x=0,y=0;
431  double M = fInteraction->InitState().Tgt().HitNucP4Ptr()->M();
432 
433  kinematics::WQ2toXY(E,M,W,Q2,x,y);
434  fInteraction->KinePtr()->Setx(x);
435  fInteraction->KinePtr()->Sety(y);
436  }
437  double xsec = fModel->XSec(fInteraction, kPSWQ2fE);
438  return xsec/(1E-38 * units::cm2);
439 }
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:1064
void SetQ2(double Q2, bool selected=false)
Definition: Kinematics.cxx:255
Kinematics * KinePtr(void) const
Definition: Interaction.h:76
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
static constexpr double cm2
Definition: Units.h:69
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:227
void WQ2toXY(double Ev, double M, double W, double Q2, double &x, double &y)
Definition: KineUtils.cxx:1119
bool IsDeepInelastic(void) const
Definition: ProcessInfo.cxx:84
void Setx(double x, bool selected=false)
Definition: Kinematics.cxx:231
void SetW(double W, bool selected=false)
Definition: Kinematics.cxx:279
TLorentzVector * HitNucP4Ptr(void) const
Definition: Target.cxx:247
void Sety(double y, bool selected=false)
Definition: Kinematics.cxx:243
const Interaction * fInteraction
Definition: GSLXSecFunc.h:228
const InitialState & InitState(void) const
Definition: Interaction.h:69
const ProcessInfo & ProcInfo(void) const
Definition: Interaction.h:70
list x
Definition: train.py:276
const Target & Tgt(void) const
Definition: InitialState.h:66
bool IsDarkMatterDeepInelastic(void) const
Definition: ProcessInfo.cxx:89
double ProbeE(RefFrame_t rf) const
unsigned int genie::utils::gsl::d2XSec_dWdQ2_E::NDim ( void  ) const

Definition at line 411 of file GSLXSecFunc.cxx.

412 {
413  return 2;
414 }

Member Data Documentation

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

Definition at line 228 of file GSLXSecFunc.h.

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

Definition at line 227 of file GSLXSecFunc.h.


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