Public Member Functions | Private Attributes | List of all members
genie::utils::gsl::dXSec_Log_Wrapper 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_Log_Wrapper:

Public Member Functions

 dXSec_Log_Wrapper (const ROOT::Math::IBaseFunctionMultiDim *fn, bool *ifLog, double *min, double *maxes)
 
 ~dXSec_Log_Wrapper ()
 
unsigned int NDim (void) const
 
double DoEval (const double *xin) const
 
ROOT::Math::IBaseFunctionMultiDim * Clone (void) const
 

Private Attributes

const ROOT::Math::IBaseFunctionMultiDim * fFn
 
bool * fIfLog
 
double * fMins
 
double * fMaxes
 

Detailed Description

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

dXSec_Log_Wrapper Redistributes variables over a range to a e^-x distribution. Allows the integrator to use a logarithmic series of points while calling uniformly.

Definition at line 405 of file GSLXSecFunc.h.

Constructor & Destructor Documentation

genie::utils::gsl::dXSec_Log_Wrapper::dXSec_Log_Wrapper ( const ROOT::Math::IBaseFunctionMultiDim *  fn,
bool *  ifLog,
double *  min,
double *  maxes 
)

Definition at line 917 of file GSLXSecFunc.cxx.

Referenced by Clone().

919  :
920  fFn(fn),
921  fIfLog(ifLog),
922  fMins(mins),
923  fMaxes(maxes)
924 {
925 }
const ROOT::Math::IBaseFunctionMultiDim * fFn
Definition: GSLXSecFunc.h:418
genie::utils::gsl::dXSec_Log_Wrapper::~dXSec_Log_Wrapper ( )

Definition at line 926 of file GSLXSecFunc.cxx.

927 {
928 }

Member Function Documentation

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

Definition at line 955 of file GSLXSecFunc.cxx.

References dXSec_Log_Wrapper(), fFn, fIfLog, fMaxes, and fMins.

956 {
958 }
dXSec_Log_Wrapper(const ROOT::Math::IBaseFunctionMultiDim *fn, bool *ifLog, double *min, double *maxes)
const ROOT::Math::IBaseFunctionMultiDim * fFn
Definition: GSLXSecFunc.h:418
double genie::utils::gsl::dXSec_Log_Wrapper::DoEval ( const double *  xin) const

Definition at line 935 of file GSLXSecFunc.cxx.

References a, b, stan::math::exp(), fIfLog, fMaxes, fMins, MECModelEnuComparisons::i, genie::constants::kNapierConst, NDim(), febshutoff_auto::val, and submit_syst::x.

936 {
937  double * toEval = new double[this->NDim()];
938  double a,b,x;
939  for (unsigned int i = 0 ; i < this->NDim() ; i++ )
940  {
941  if (fIfLog[i]) {
942  a = fMins[i];
943  b = fMaxes[i];
944  x = xin[i];
945  toEval[i] = a + (b-a)/(constants::kNapierConst-1.) * (exp(x/(b-a)) - 1.);
946  }
947  else {
948  toEval[i] = xin[i];
949  }
950  }
951  double val = (*fFn)(toEval);
952  delete[] toEval;
953  return val;
954 }
static const double kNapierConst
Definition: Constants.h:44
const double a
unsigned int NDim(void) const
fvar< T > exp(const fvar< T > &x)
Definition: exp.hpp:10
const hit & b
Definition: hits.cxx:21
unsigned int genie::utils::gsl::dXSec_Log_Wrapper::NDim ( void  ) const

Definition at line 931 of file GSLXSecFunc.cxx.

References fFn.

Referenced by DoEval().

932 {
933  return fFn->NDim();
934 }
const ROOT::Math::IBaseFunctionMultiDim * fFn
Definition: GSLXSecFunc.h:418

Member Data Documentation

const ROOT::Math::IBaseFunctionMultiDim* genie::utils::gsl::dXSec_Log_Wrapper::fFn
private

Definition at line 418 of file GSLXSecFunc.h.

Referenced by Clone(), and NDim().

bool* genie::utils::gsl::dXSec_Log_Wrapper::fIfLog
private

Definition at line 419 of file GSLXSecFunc.h.

Referenced by Clone(), and DoEval().

double* genie::utils::gsl::dXSec_Log_Wrapper::fMaxes
private

Definition at line 421 of file GSLXSecFunc.h.

Referenced by Clone(), and DoEval().

double* genie::utils::gsl::dXSec_Log_Wrapper::fMins
private

Definition at line 420 of file GSLXSecFunc.h.

Referenced by Clone(), and DoEval().


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