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::dXSec_dQ2_E Class Reference

#include <GSLXSecFunc.h>

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

Public Member Functions

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

Private Attributes

const XSecAlgorithmIfModel
 
const InteractionfInteraction
 
double fScale
 

Detailed Description

Definition at line 41 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file GSLXSecFunc.cxx.

38  :
39 ROOT::Math::IBaseFunctionOneDim(),
40 fModel(m),
41 fInteraction(i),
42 fScale(scale)
43 {
44 
45 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:53
const Interaction * fInteraction
Definition: GSLXSecFunc.h:54
genie::utils::gsl::dXSec_dQ2_E::~dXSec_dQ2_E ( )

Definition at line 46 of file GSLXSecFunc.cxx.

47 {
48 
49 }

Member Function Documentation

ROOT::Math::IBaseFunctionOneDim * genie::utils::gsl::dXSec_dQ2_E::Clone ( void  ) const

Definition at line 70 of file GSLXSecFunc.cxx.

71 {
72  return
74 }
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:53
const Interaction * fInteraction
Definition: GSLXSecFunc.h:54
double genie::utils::gsl::dXSec_dQ2_E::DoEval ( double  xin) const

Definition at line 54 of file GSLXSecFunc.cxx.

References genie::units::cm2, genie::kPSQ2fE, LOG, pDEBUG, and genie::utils::kinematics::Q2().

55 {
56 // inputs:
57 // Q2 [GeV^2]
58 // outputs:
59 // differential cross section [10^-38 cm^2 / GeV^2]
60 //
61  double Q2 = xin;
62  fInteraction->KinePtr()->SetQ2(Q2);
63  double xsec = fModel->XSec(fInteraction, kPSQ2fE);
64 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
65  LOG("GSLXSecFunc", pDEBUG) << "xsec(Q2 = " << Q2 << ") = " << xsec;
66 #endif
67  return fScale*xsec/(1E-38 * units::cm2);
68 }
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:53
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:96
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.
const Interaction * fInteraction
Definition: GSLXSecFunc.h:54
#define pDEBUG
Definition: Messenger.h:63
unsigned int genie::utils::gsl::dXSec_dQ2_E::NDim ( void  ) const

Definition at line 50 of file GSLXSecFunc.cxx.

51 {
52  return 1;
53 }

Member Data Documentation

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

Definition at line 54 of file GSLXSecFunc.h.

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

Definition at line 53 of file GSLXSecFunc.h.

double genie::utils::gsl::dXSec_dQ2_E::fScale
private

Definition at line 55 of file GSLXSecFunc.h.


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