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

#include "/cvmfs/nova.opensciencegrid.org/externals/genie/v3_00_06_p01/Linux64bit+2.6-2.12-e17-debug/GENIE-Generator/src/Physics/QuasiElastic/XSection/SmithMonizQELCCXSec.h"

Inheritance diagram for genie::utils::gsl::d2Xsec_dQ2dv:

Public Member Functions

 d2Xsec_dQ2dv (const XSecAlgorithmI *m, const Interaction *i)
 
 ~d2Xsec_dQ2dv ()
 
unsigned int NDim (void) const
 
double DoEval (const double *xin) const
 
ROOT::Math::IBaseFunctionMultiDim * Clone (void) const
 

Private Attributes

const XSecAlgorithmIfModel
 
const InteractionfInteraction
 
SmithMonizUtilssm_utils
 

Detailed Description

Definition at line 75 of file SmithMonizQELCCXSec.h.

Constructor & Destructor Documentation

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

Definition at line 167 of file SmithMonizQELCCXSec.cxx.

References genie::AlgFactory::GetAlgorithm(), genie::AlgFactory::Instance(), genie::SmithMonizUtils::SetInteraction(), and sm_utils.

167  :
168 ROOT::Math::IBaseFunctionMultiDim(),
169 fModel(m),
170 fInteraction(interaction)
171 {
172  AlgFactory * algf = AlgFactory::Instance();
173  sm_utils = const_cast<genie::SmithMonizUtils *>(dynamic_cast<const genie::SmithMonizUtils *>(algf->GetAlgorithm("genie::SmithMonizUtils","Default")));
174  sm_utils->SetInteraction(interaction);
175 }
void SetInteraction(const Interaction *i)
const Algorithm * GetAlgorithm(const AlgId &algid)
Definition: AlgFactory.cxx:86
Contains auxiliary functions for Smith-Moniz model. Is a concrete implementation of the XSecAlgorit...
static AlgFactory * Instance()
Definition: AlgFactory.cxx:75
The GENIE Algorithm Factory.
Definition: AlgFactory.h:40
genie::utils::gsl::d2Xsec_dQ2dv::~d2Xsec_dQ2dv ( )

Definition at line 177 of file SmithMonizQELCCXSec.cxx.

178 {
179 
180 }

Member Function Documentation

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

Definition at line 214 of file SmithMonizQELCCXSec.cxx.

References fInteraction, and fModel.

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

Definition at line 187 of file SmithMonizQELCCXSec.cxx.

References genie::units::cm2, E, fInteraction, fModel, genie::utils::mec::J(), kinematics(), genie::Interaction::KinePtr(), genie::kKVQ2, genie::kKVv, genie::kPSQ2vfE, genie::Range1D_t::max, genie::Range1D_t::min, genie::utils::kinematics::Q2(), genie::SmithMonizUtils::Q2QES_SM_lim(), genie::Kinematics::SetKV(), sm_utils, registry_explorer::v, genie::SmithMonizUtils::vQES_SM_lim(), genie::XSecAlgorithmI::XSec(), and xsec.

188 {
189 // inputs:
190 // normalized Q2 from 0 to 1
191 // normalized v from 0 to 1
192 // outputs:
193 // differential cross section [10^-38 cm^2]
194 //
195 
197  double Q2 = (rQ2.max-rQ2.min)*xin[0]+rQ2.min;
198  Range1D_t rv = sm_utils->vQES_SM_lim(Q2);
199  double v = (rv.max-rv.min)*xin[1]+rv.min;
200  double J = (rQ2.max-rQ2.min)*(rv.max-rv.min); // Jacobian for transformation
201 
203  kinematics->SetKV(kKVQ2, Q2);
204  kinematics->SetKV(kKVv, v);
205 
207 
208  xsec *= J;
209 
210  return xsec/(1E-38 * units::cm2);
211 }
Range1D_t Q2QES_SM_lim(void) const
double J(double q0, double q3, double Enu, double ml)
Definition: MECUtils.cxx:141
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:991
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.
A simple [min,max] interval for doubles.
Definition: Range1.h:43
Generated/set kinematical variables for an event.
Definition: Kinematics.h:40
Range1D_t vQES_SM_lim(double Q2) const
static const double cm2
Definition: Units.h:77
Float_t E
Definition: plot.C:20
Double_t xsec[nknots]
Definition: testXsec.C:47
void SetKV(KineVar_t kv, double value)
Definition: Kinematics.cxx:345
double max
Definition: Range1.h:54
double min
Definition: Range1.h:53
void kinematics()
Definition: kinematics.C:10
unsigned int genie::utils::gsl::d2Xsec_dQ2dv::NDim ( void  ) const

Definition at line 182 of file SmithMonizQELCCXSec.cxx.

183 {
184  return 2;
185 }

Member Data Documentation

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

Definition at line 87 of file SmithMonizQELCCXSec.h.

Referenced by Clone(), and DoEval().

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

Definition at line 86 of file SmithMonizQELCCXSec.h.

Referenced by Clone(), and DoEval().

SmithMonizUtils* genie::utils::gsl::d2Xsec_dQ2dv::sm_utils
mutableprivate

Definition at line 88 of file SmithMonizQELCCXSec.h.

Referenced by d2Xsec_dQ2dv(), and DoEval().


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