Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
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 */