Logo ROOT   6.16/01
Reference Guide
GSLSimAnMinimizer.h
Go to the documentation of this file.
1// @(#)root/mathmore:$Id$
2// Author: L. Moneta Wed Dec 20 17:16:32 2006
3
4/**********************************************************************
5 * *
6 * Copyright (c) 2006 LCG ROOT Math Team, CERN/PH-SFT *
7 * *
8 * This library is free software; you can redistribute it and/or *
9 * modify it under the terms of the GNU General Public License *
10 * as published by the Free Software Foundation; either version 2 *
11 * of the License, or (at your option) any later version. *
12 * *
13 * This library is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16 * General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU General Public License *
19 * along with this library (see file COPYING); if not, write *
20 * to the Free Software Foundation, Inc., 59 Temple Place, Suite *
21 * 330, Boston, MA 02111-1307 USA, or contact the author. *
22 * *
23 **********************************************************************/
24
25// Header file for class GSLSimAnMinimizer
26
27#ifndef ROOT_Math_GSLSimAnMinimizer
28#define ROOT_Math_GSLSimAnMinimizer
29
30
31
32#include "Math/BasicMinimizer.h"
33
34
35#include "Math/IFunctionfwd.h"
36
38
39
40
42
43
44
45
46namespace ROOT {
47
48 namespace Math {
49
50
51
52//_____________________________________________________________________________________
53/**
54 GSLSimAnMinimizer class for minimization using simulated annealing
55 using the algorithm from
56 <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Simulated-Annealing.html">
57 GSL</A>.
58 It implements the ROOT::Minimizer interface and
59 a plug-in (name "GSLSimAn") exists to instantiate this class via the plug-in manager
60
61 @ingroup MultiMin
62*/
64
65public:
66
67 /**
68 Default constructor
69 */
70 GSLSimAnMinimizer (int type = 0);
71
72 /**
73 Destructor (no operations)
74 */
75 virtual ~GSLSimAnMinimizer ();
76
77private:
78 // usually copying is non trivial, so we make this unaccessible
79
80 /**
81 Copy constructor
82 */
84
85 /**
86 Assignment operator
87 */
89 if (this == &rhs) return *this; // time saving self-test
90 return *this;
91 }
92
93public:
94
95
96 /// method to perform the minimization
97 virtual bool Minimize();
98
99 //number of calls
100 unsigned int NCalls() const;
101
102
103protected:
104
105private:
106
107
109
110
111};
112
113 } // end namespace Math
114
115} // end namespace ROOT
116
117
118#endif /* ROOT_Math_GSLSimAnMinimizer */
int type
Definition: TGX11.cxx:120
Base Minimizer class, which defines the basic funcionality of various minimizer implementations (apar...
GSLSimAnMinimizer class for minimization using simulated annealing using the algorithm from GSL.
virtual ~GSLSimAnMinimizer()
Destructor (no operations)
GSLSimAnMinimizer(int type=0)
Default constructor.
ROOT::Math::GSLSimAnnealing fSolver
GSLSimAnMinimizer(const GSLSimAnMinimizer &)
Copy constructor.
unsigned int NCalls() const
number of function calls to reach the minimum
virtual bool Minimize()
method to perform the minimization
GSLSimAnMinimizer & operator=(const GSLSimAnMinimizer &rhs)
Assignment operator.
GSLSimAnnealing class for performing a simulated annealing search of a multidimensional function.
Namespace for new Math classes and functions.
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21