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

#include <GSLXSecFunc.h>

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

Public Member Functions

 d2XSec_dlog10xdlog10Q2_E (const XSecAlgorithmI *m, const Interaction *i, double scale=1.)
 
 ~d2XSec_dlog10xdlog10Q2_E ()
 
unsigned int NDim (void) const
 
double DoEval (const double *xin) const
 
ROOT::Math::IBaseFunctionMultiDim * Clone (void) const
 

Private Attributes

const XSecAlgorithmIfModel
 
const InteractionfInteraction
 
double fScale
 

Detailed Description

Definition at line 130 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

genie::utils::gsl::d2XSec_dlog10xdlog10Q2_E::d2XSec_dlog10xdlog10Q2_E ( const XSecAlgorithmI m,
const Interaction i,
double  scale = 1. 
)

Definition at line 276 of file GSLXSecFunc.cxx.

277  :
278 ROOT::Math::IBaseFunctionMultiDim(),
279 fModel(m),
280 fInteraction(i),
281 fScale(scale)
282 {
283 
284 }
genie::utils::gsl::d2XSec_dlog10xdlog10Q2_E::~d2XSec_dlog10xdlog10Q2_E ( )

Definition at line 285 of file GSLXSecFunc.cxx.

286 {
287 
288 }

Member Function Documentation

ROOT::Math::IBaseFunctionMultiDim * genie::utils::gsl::d2XSec_dlog10xdlog10Q2_E::Clone ( void  ) const
double genie::utils::gsl::d2XSec_dlog10xdlog10Q2_E::DoEval ( const double *  xin) const

Definition at line 293 of file GSLXSecFunc.cxx.

References genie::units::cm2, genie::kPSlog10xlog10Q2fE, and genie::utils::kinematics::UpdateWYFromXQ2().

294 {
295 // inputs:
296 // log10(x) [-]
297 // log10(Q2) [-]
298 // outputs:
299 // differential cross section [10^-38 cm^2]
300 //
301  fInteraction->KinePtr()->Setx(TMath::Power(10,xin[0]));
302  fInteraction->KinePtr()->SetQ2(TMath::Power(10,xin[1]));
304  double xsec = fModel->XSec(fInteraction, kPSlog10xlog10Q2fE);
305  return fScale*xsec/(1E-38 * units::cm2);
306 }
void SetQ2(double Q2, bool selected=false)
Definition: Kinematics.cxx:255
Kinematics * KinePtr(void) const
Definition: Interaction.h:76
void UpdateWYFromXQ2(const Interaction *in)
Definition: KineUtils.cxx:1326
static constexpr double cm2
Definition: Units.h:69
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
unsigned int genie::utils::gsl::d2XSec_dlog10xdlog10Q2_E::NDim ( void  ) const

Definition at line 289 of file GSLXSecFunc.cxx.

290 {
291  return 2;
292 }

Member Data Documentation

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

Definition at line 143 of file GSLXSecFunc.h.

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

Definition at line 142 of file GSLXSecFunc.h.

double genie::utils::gsl::d2XSec_dlog10xdlog10Q2_E::fScale
private

Definition at line 144 of file GSLXSecFunc.h.


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