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

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+3.10-2.17-e17-debug/GENIE-Generator/src/Physics/XSectionIntegration/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 164 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 274 of file GSLXSecFunc.cxx.

275  :
276 ROOT::Math::IBaseFunctionMultiDim(),
277 fModel(m),
278 fInteraction(i)
279 {
280 
281 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:176
const Interaction * fInteraction
Definition: GSLXSecFunc.h:177
genie::utils::gsl::d2XSec_dWdQ2_E::~d2XSec_dWdQ2_E ( )

Definition at line 282 of file GSLXSecFunc.cxx.

283 {
284 
285 }

Member Function Documentation

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

Definition at line 316 of file GSLXSecFunc.cxx.

References fInteraction, and fModel.

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

Definition at line 290 of file GSLXSecFunc.cxx.

References genie::units::cm2, E, fInteraction, fModel, genie::Target::HitNucP4Ptr(), genie::Interaction::InitState(), genie::ProcessInfo::IsDarkMatterDeepInelastic(), genie::ProcessInfo::IsDeepInelastic(), genie::Interaction::KinePtr(), genie::kPSWQ2fE, genie::kRfHitNucRest, genie::InitialState::ProbeE(), genie::Interaction::ProcInfo(), genie::utils::kinematics::Q2(), genie::Kinematics::SetQ2(), genie::Kinematics::SetW(), genie::Kinematics::Setx(), genie::Kinematics::Sety(), genie::InitialState::Tgt(), W, genie::utils::kinematics::WQ2toXY(), submit_syst::x, genie::XSecAlgorithmI::XSec(), xsec, and submit_syst::y.

291 {
292 // inputs:
293 // W [GeV]
294 // Q2 [GeV^2]
295 // outputs:
296 // differential cross section [10^-38 cm^2/GeV^3]
297 //
298  double W = xin[0];
299  double Q2 = xin[1];
300  fInteraction->KinePtr()->SetW(W);
301  fInteraction->KinePtr()->SetQ2(Q2);
304  double x=0,y=0;
306  double M = fInteraction->InitState().Tgt().HitNucP4Ptr()->M();
307 
308  kinematics::WQ2toXY(E,M,W,Q2,x,y);
309  fInteraction->KinePtr()->Setx(x);
310  fInteraction->KinePtr()->Sety(y);
311  }
312  double xsec = fModel->XSec(fInteraction, kPSWQ2fE);
313  return xsec/(1E-38 * units::cm2);
314 }
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:991
void SetQ2(double Q2, bool selected=false)
Definition: Kinematics.cxx:265
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 const double cm2
Definition: Units.h:77
Float_t E
Definition: plot.C:20
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:176
void WQ2toXY(double Ev, double M, double W, double Q2, double &x, double &y)
Definition: KineUtils.cxx:1046
Double_t xsec[nknots]
Definition: testXsec.C:47
bool IsDeepInelastic(void) const
Definition: ProcessInfo.cxx:82
void Setx(double x, bool selected=false)
Definition: Kinematics.cxx:241
void SetW(double W, bool selected=false)
Definition: Kinematics.cxx:289
TLorentzVector * HitNucP4Ptr(void) const
Definition: Target.cxx:264
void Sety(double y, bool selected=false)
Definition: Kinematics.cxx:253
const Interaction * fInteraction
Definition: GSLXSecFunc.h:177
const InitialState & InitState(void) const
Definition: Interaction.h:69
const ProcessInfo & ProcInfo(void) const
Definition: Interaction.h:70
const Target & Tgt(void) const
Definition: InitialState.h:67
bool IsDarkMatterDeepInelastic(void) const
Definition: ProcessInfo.cxx:87
#define W(x)
double ProbeE(RefFrame_t rf) const
unsigned int genie::utils::gsl::d2XSec_dWdQ2_E::NDim ( void  ) const

Definition at line 286 of file GSLXSecFunc.cxx.

287 {
288  return 2;
289 }

Member Data Documentation

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

Definition at line 177 of file GSLXSecFunc.h.

Referenced by Clone(), and DoEval().

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

Definition at line 176 of file GSLXSecFunc.h.

Referenced by Clone(), and DoEval().


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