Logo ROOT   6.21/01
Reference Guide
Factory.h
Go to the documentation of this file.
1 // @(#)root/mathcore:$Id$
2 // Author: L. Moneta Fri Dec 22 14:43:33 2006
3 
4 /**********************************************************************
5  * *
6  * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
7  * *
8  * *
9  **********************************************************************/
10 
11 // Header file for class Factory
12 
13 #ifndef ROOT_Math_Factory
14 #define ROOT_Math_Factory
15 
16 #include <string>
17 
18 
19 namespace ROOT {
20 
21  namespace Math {
22 
23  class Minimizer;
24  class DistSampler;
25 
26 //___________________________________________________________________________
27 /**
28  Factory class holding static functions to create the interfaces like ROOT::Math::Minimizer
29  via the Plugin Manager
30 */
31 class Factory {
32  public:
33 
34  /**
35  static method to create the corrisponding Minimizer given the string
36  Supported Minimizers types are:
37  Minuit (TMinuit), Minuit2, GSLMultiMin, GSLMultiFit, GSLSimAn, Linear, Fumili, Genetic
38  If no name is given use default values defined in MinimizerOptions
39  */
40  static ROOT::Math::Minimizer * CreateMinimizer(const std::string & minimizerType = "", const std::string & algoType = "");
41 
42  /**
43  static method to create the distribution sampler class given a string specifying the type
44  Supported sampler types are:
45  Unuran, Foam
46  If no name is given use default values defined in DistSamplerOptions
47  */
48  static ROOT::Math::DistSampler * CreateDistSampler(const std::string & samplerType ="");
49 
50 
51 };
52 
53  } // end namespace Fit
54 
55 } // end namespace ROOT
56 
57 
58 #endif /* ROOT_Fit_MinimizerFactory */
Returns the available number of logical cores.
Definition: StringConv.hxx:21
static ROOT::Math::Minimizer * CreateMinimizer(const std::string &minimizerType="", const std::string &algoType="")
static method to create the corrisponding Minimizer given the string Supported Minimizers types are: ...
Definition: Factory.cxx:63
Abstract Minimizer class, defining the interface for the various minimizer (like Minuit2, Minuit, GSL, etc..) Plug-in&#39;s exist in ROOT to be able to instantiate the derived classes like ROOT::Math::GSLMinimizer or ROOT::Math::Minuit2Minimizer via the plug-in manager.
Definition: Minimizer.h:78
RooCmdArg Minimizer(const char *type, const char *alg=0)
static ROOT::Math::DistSampler * CreateDistSampler(const std::string &samplerType="")
static method to create the distribution sampler class given a string specifying the type Supported s...
Definition: Factory.cxx:167
Interface class for generic sampling of a distribution, i.e.
Definition: DistSampler.h:57
Namespace for new Math classes and functions.
Factory class holding static functions to create the interfaces like ROOT::Math::Minimizer via the Pl...
Definition: Factory.h:31