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