32#ifndef ROOT_Math_GSLMCIntegrationWorkspace 
   33#define ROOT_Math_GSLMCIntegrationWorkspace 
   35#include "gsl/gsl_math.h" 
   36#include "gsl/gsl_monte.h" 
   37#include "gsl/gsl_monte_vegas.h" 
   38#include "gsl/gsl_monte_miser.h" 
   39#include "gsl/gsl_monte_plain.h" 
   59      virtual size_t NDim()
 const { 
return 0; }
 
   62      virtual bool Init(
size_t dim) = 0;
 
   72      virtual std::unique_ptr<ROOT::Math::IOptions>  
Options() 
const = 0;
 
 
   92         if (dim > 0) 
Init(dim);
 
 
   95      bool Init(
size_t dim)
 override {
 
   98         return (
fWs != 
nullptr);
 
 
  103         if (!
fWs) 
return false;
 
 
  121      size_t NDim()
 const override { 
return (
fWs) ? 
fWs->dim : 0; }
 
  134      std::unique_ptr<IOptions> 
Options()
 const override {
 
 
 
  170         if (dim > 0) 
Init(dim);
 
 
  174      bool Init(
size_t dim)
 override {
 
  179         return (
fWs != 
nullptr);
 
 
  184         if (!
fWs) 
return false;
 
 
  203      size_t NDim()
 const override { 
return (
fWs) ? 
fWs->dim : 0; }
 
  211      std::unique_ptr<ROOT::Math::IOptions> 
Options()
 const override {
 
 
 
  247      bool Init(
size_t dim)
 override {
 
  250         return (
fWs != 
nullptr);
 
 
  254         if (!
fWs) 
return false;
 
 
  270      size_t NDim()
 const override { 
return (
fWs) ? 
fWs->dim : 0; }
 
  272      std::unique_ptr<ROOT::Math::IOptions>  
Options()
 const override {
 
  273         return std::unique_ptr<ROOT::Math::IOptions>();
 
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
virtual ~GSLMCIntegrationWorkspace()
 
virtual void Clear()
free the workspace deleting the GSL pointer
 
virtual size_t NDim() const
 
GSLMCIntegrationWorkspace()
 
virtual void SetOptions(const ROOT::Math::IOptions &)=0
set options
 
virtual MCIntegration::Type Type() const =0
 
virtual bool ReInit()=0
re-initialize an existing the workspace
 
virtual std::unique_ptr< ROOT::Math::IOptions > Options() const =0
retrieve option pointer corresponding to parameters create a new object to be managed by the user
 
virtual bool Init(size_t dim)=0
initialize the workspace creating the GSL pointer if it is not there
 
gsl_monte_miser_state * fWs
 
bool ReInit() override
re-initialize an existing the workspace
 
const MiserParameters & Parameters() const
 
void SetMiserParameters()
 
GSLMiserIntegrationWorkspace(size_t dim=0)
 
void Clear() override
free the workspace deleting the GSL pointer
 
MiserParameters & Parameters()
 
std::unique_ptr< ROOT::Math::IOptions > Options() const override
retrieve option pointer corresponding to parameters create a new object to be managed by the user
 
size_t NDim() const override
 
bool Init(size_t dim) override
initialize the workspace creating the GSL pointer if it is not there
 
virtual void SetOptions(const ROOT::Math::IOptions &opt) override
set options
 
gsl_monte_miser_state * GetWS()
 
void SetParameters(const MiserParameters &p)
 
MCIntegration::Type Type() const override
 
void Clear() override
free the workspace deleting the GSL pointer
 
MCIntegration::Type Type() const override
 
bool ReInit() override
re-initialize an existing the workspace
 
bool Init(size_t dim) override
initialize the workspace creating the GSL pointer if it is not there
 
virtual void SetOptions(const ROOT::Math::IOptions &) override
set options
 
gsl_monte_plain_state * GetWS()
 
gsl_monte_plain_state * fWs
 
std::unique_ptr< ROOT::Math::IOptions > Options() const override
retrieve option pointer corresponding to parameters create a new object to be managed by the user
 
GSLPlainIntegrationWorkspace()
 
size_t NDim() const override
 
gsl_monte_vegas_state * fWs
 
gsl_monte_vegas_state * GetWS()
 
std::unique_ptr< IOptions > Options() const override
retrieve option pointer corresponding to parameters create a new object to be managed by the user
 
void Clear() override
free the workspace deleting the GSL pointer
 
bool ReInit() override
re-initialize an existing the workspace
 
bool Init(size_t dim) override
initialize the workspace creating the GSL pointer if it is not there
 
const VegasParameters & Parameters() const
 
MCIntegration::Type Type() const override
 
VegasParameters & Parameters()
 
virtual void SetOptions(const ROOT::Math::IOptions &opt) override
set options
 
void SetParameters(const struct VegasParameters &p)
 
GSLVegasIntegrationWorkspace(size_t dim=0)
 
void SetVegasParameters()
 
size_t NDim() const override
 
Generic interface for defining configuration options of a numerical algorithm.
 
Type
enumeration specifying the integration types.
 
Namespace for new Math classes and functions.
 
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
 
Structure collecting parameters for MISER multidimensional integration.
 
size_t min_calls_per_bisection
 
std::unique_ptr< ROOT::Math::IOptions > MakeIOptions() const
convert to options (return object is managed by the user)
 
Structures collecting parameters for VEGAS multidimensional integration For implementation of default...
 
std::unique_ptr< ROOT::Math::IOptions > MakeIOptions() const
Convert to options.