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

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

Inheritance diagram for genie::utils::gsl::dXSec_dElep_AR:

Public Member Functions

 dXSec_dElep_AR (const XSecAlgorithmI *m, const Interaction *i, string gsl_nd_integrator_type, double gsl_relative_tolerance, unsigned int max_n_calls)
 
 dXSec_dElep_AR ()
 
 ~dXSec_dElep_AR ()
 
dXSec_dElep_ARClone (void) const
 
double DoEval (double xin) const
 

Private Attributes

const XSecAlgorithmIfModel
 
const InteractionfInteraction
 
const genie::utils::gsl::d3Xsec_dOmegaldThetapifunc
 
ROOT::Math::IntegratorMultiDim integrator
 
double kine_min [3]
 
double kine_max [3]
 
string fGSLIntegratorType
 
double fGSLRelTol
 
unsigned int fGSLMaxCalls
 

Detailed Description

.....................................................................................

genie::utils::gsl::dXSec_dElep_AR A 1-D cross section function: dxsec/dElep Used for Alvarez-Ruso coherent.

Definition at line 371 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

genie::utils::gsl::dXSec_dElep_AR::dXSec_dElep_AR ( const XSecAlgorithmI m,
const Interaction i,
string  gsl_nd_integrator_type,
double  gsl_relative_tolerance,
unsigned int  max_n_calls 
)

Definition at line 876 of file GSLXSecFunc.cxx.

References fInteraction, fModel, func, integrator, genie::controls::kASmallNum, kine_max, kine_min, and genie::constants::kPi.

879  :
880 ROOT::Math::IBaseFunctionOneDim(),
881 fModel(m),
882 fInteraction(i),
883 integrator(utils::gsl::IntegrationNDimTypeFromString(gsl_nd_integrator_type),1, gsl_relative_tolerance, max_n_calls),
884 fGSLIntegratorType(gsl_nd_integrator_type),
885 fGSLRelTol(gsl_relative_tolerance),
886 fGSLMaxCalls(max_n_calls)
887 {
889 
890  integrator.SetRelTolerance(gsl_relative_tolerance);
891  integrator.SetFunction(*func);
892 
894 
897 }
ROOT::Math::IntegrationMultiDim::Type IntegrationNDimTypeFromString(string type)
Definition: GSLUtils.cxx:67
static const double kASmallNum
Definition: Controls.h:40
const Interaction * fInteraction
Definition: GSLXSecFunc.h:386
const genie::utils::gsl::d3Xsec_dOmegaldThetapi * func
Definition: GSLXSecFunc.h:388
ROOT::Math::IntegratorMultiDim integrator
Definition: GSLXSecFunc.h:390
static const double kPi
Definition: Constants.h:38
const XSecAlgorithmI * fModel
Definition: GSLXSecFunc.h:385
genie::utils::gsl::dXSec_dElep_AR::dXSec_dElep_AR ( )
inline
genie::utils::gsl::dXSec_dElep_AR::~dXSec_dElep_AR ( )

Definition at line 898 of file GSLXSecFunc.cxx.

References func.

899 {
900  delete func;
901 }
const genie::utils::gsl::d3Xsec_dOmegaldThetapi * func
Definition: GSLXSecFunc.h:388

Member Function Documentation

genie::utils::gsl::dXSec_dElep_AR * genie::utils::gsl::dXSec_dElep_AR::Clone ( void  ) const
double genie::utils::gsl::dXSec_dElep_AR::DoEval ( double  xin) const

Definition at line 902 of file GSLXSecFunc.cxx.

References func, integrator, kine_max, kine_min, LOG, genie::utils::gsl::d3Xsec_dOmegaldThetapi::NDim(), pINFO, genie::utils::gsl::d3Xsec_dOmegaldThetapi::SetE_lep(), and xsec.

903 {
904  double Elep = xin;
905  func->SetE_lep(Elep);
906  double xsec = integrator.Integral(&kine_min[0], &kine_max[0]) ;
907  LOG("GSLXSecFunc",pINFO) << "dXSec_dElep_AR >> "<<func->NDim()<<"d integral done. (Elep = " <<Elep<< " , dxsec/dElep = "<<xsec << ")";
908  return xsec;
909 }
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
Definition: Messenger.h:97
void SetE_lep(double E_lepton) const
#define pINFO
Definition: Messenger.h:63
Double_t xsec[nknots]
Definition: testXsec.C:47
const genie::utils::gsl::d3Xsec_dOmegaldThetapi * func
Definition: GSLXSecFunc.h:388
ROOT::Math::IntegratorMultiDim integrator
Definition: GSLXSecFunc.h:390

Member Data Documentation

string genie::utils::gsl::dXSec_dElep_AR::fGSLIntegratorType
private

Definition at line 395 of file GSLXSecFunc.h.

Referenced by Clone().

unsigned int genie::utils::gsl::dXSec_dElep_AR::fGSLMaxCalls
private

Definition at line 397 of file GSLXSecFunc.h.

Referenced by Clone().

double genie::utils::gsl::dXSec_dElep_AR::fGSLRelTol
private

Definition at line 396 of file GSLXSecFunc.h.

Referenced by Clone().

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

Definition at line 386 of file GSLXSecFunc.h.

Referenced by Clone(), and dXSec_dElep_AR().

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

Definition at line 385 of file GSLXSecFunc.h.

Referenced by Clone(), and dXSec_dElep_AR().

const genie::utils::gsl::d3Xsec_dOmegaldThetapi* genie::utils::gsl::dXSec_dElep_AR::func
private

Definition at line 388 of file GSLXSecFunc.h.

Referenced by DoEval(), dXSec_dElep_AR(), and ~dXSec_dElep_AR().

ROOT::Math::IntegratorMultiDim genie::utils::gsl::dXSec_dElep_AR::integrator
mutableprivate

Definition at line 390 of file GSLXSecFunc.h.

Referenced by DoEval(), and dXSec_dElep_AR().

double genie::utils::gsl::dXSec_dElep_AR::kine_max[3]
private

Definition at line 393 of file GSLXSecFunc.h.

Referenced by DoEval(), and dXSec_dElep_AR().

double genie::utils::gsl::dXSec_dElep_AR::kine_min[3]
private

Definition at line 392 of file GSLXSecFunc.h.

Referenced by DoEval(), and dXSec_dElep_AR().


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