Logo ROOT   6.08/07
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 #ifndef ROOT_Math_BasicMinimizer
33 #include "Math/BasicMinimizer.h"
34 #endif
35 
36 
37 #ifndef ROOT_Math_IFunctionfwd
38 #include "Math/IFunctionfwd.h"
39 #endif
40 
41 #ifndef ROOT_Math_IParamFunctionfwd
42 #include "Math/IParamFunctionfwd.h"
43 #endif
44 
45 
46 
47 #ifndef ROOT_Math_GSLSimAnnealing
48 #include "Math/GSLSimAnnealing.h"
49 #endif
50 
51 
52 
53 
54 namespace ROOT {
55 
56  namespace Math {
57 
58 
59 
60 //_____________________________________________________________________________________
61 /**
62  GSLSimAnMinimizer class for minimization using simulated annealing
63  using the algorithm from
64  <A HREF="http://www.gnu.org/software/gsl/manual/html_node/Simulated-Annealing.html">
65  GSL</A>.
66  It implements the ROOT::Minimizer interface and
67  a plug-in (name "GSLSimAn") exists to instantiate this class via the plug-in manager
68 
69  @ingroup MultiMin
70 */
72 
73 public:
74 
75  /**
76  Default constructor
77  */
78  GSLSimAnMinimizer (int type = 0);
79 
80  /**
81  Destructor (no operations)
82  */
83  virtual ~GSLSimAnMinimizer ();
84 
85 private:
86  // usually copying is non trivial, so we make this unaccessible
87 
88  /**
89  Copy constructor
90  */
92 
93  /**
94  Assignment operator
95  */
97  if (this == &rhs) return *this; // time saving self-test
98  return *this;
99  }
100 
101 public:
102 
103 
104  /// method to perform the minimization
105  virtual bool Minimize();
106 
107  //number of calls
108  unsigned int NCalls() const;
109 
110 
111 protected:
112 
113 private:
114 
115 
117 
118 
119 };
120 
121  } // end namespace Math
122 
123 } // end namespace ROOT
124 
125 
126 #endif /* ROOT_Math_GSLSimAnMinimizer */
GSLSimAnnealing class for performing a simulated annealing search of a multidimensional function...
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
Definition: StringConv.hxx:21
Base Minimizer class, which defines the basic funcionality of various minimizer implementations (apar...
virtual bool Minimize()
method to perform the minimization
GSLSimAnMinimizer class for minimization using simulated annealing using the algorithm from GSL...
GSLSimAnMinimizer(const GSLSimAnMinimizer &)
Copy constructor.
GSLSimAnMinimizer(int type=0)
Default constructor.
int type
Definition: TGX11.cxx:120
virtual ~GSLSimAnMinimizer()
Destructor (no operations)
Namespace for new Math classes and functions.
ROOT::Math::GSLSimAnnealing fSolver
unsigned int NCalls() const
number of function calls to reach the minimum
GSLSimAnMinimizer & operator=(const GSLSimAnMinimizer &rhs)
Assignment operator.