GSLSimAnFunc class description. Interface class for the objetive function to be used in simulated annealing If user wants to re-implement some of the methods (like the one defining the metric) which are used by the the simulated annealing algorithm must build a user derived class. NOTE: Derived classes must re-implement the assignment and copy constructor to call them of the parent class @ingroup MultiMin
| virtual | ~GSLSimAnFunc() |
| virtual ROOT::Math::GSLSimAnFunc* | Clone() const |
| virtual double | Distance(const ROOT::Math::GSLSimAnFunc& func) const |
| virtual double | Energy() const |
| virtual ROOT::Math::GSLSimAnFunc& | FastCopy(const ROOT::Math::GSLSimAnFunc& f) |
| ROOT::Math::GSLSimAnFunc | GSLSimAnFunc(const ROOT::Math::GSLSimAnFunc&) |
| ROOT::Math::GSLSimAnFunc | GSLSimAnFunc(const ROOT::Math::IMultiGenFunction& func, const double* x) |
| ROOT::Math::GSLSimAnFunc | GSLSimAnFunc(const ROOT::Math::IMultiGenFunction& func, const double* x, const double* scale) |
| unsigned int | NDim() const |
| virtual void | Print() |
| double | Scale(unsigned int i) const |
| void | SetX(const double* x) |
| void | SetX(unsigned int i, double x) |
| virtual void | Step(const ROOT::Math::GSLRandomEngine& r, double maxstep) |
| const vector<double>& | X() const |
| double | X(unsigned int i) const |
| ROOT::Math::GSLSimAnFunc | GSLSimAnFunc() |
| const ROOT::Math::IMultiGenFunction* | fFunc | |
| vector<double> | fScale | |
| vector<double> | fX |

construct from an interface of a multi-dimensional function
construct from an interface of a multi-dimensional function
Use optionally a scale factor (for each coordinate) which can be used to scale the step sizes
(this is used for example by the minimization algorithm)
derived classes might need to re-define completly the class
{}
fast copy method called by GSL simuated annealing internally
copy only the things which have been changed
must be re-implemented by derived classes if needed
clone method. Needs to be re-implemented by the derived classes for deep copying
evaluate the energy ( objective function value)
re-implement by derived classes if needed to be modified
change the x[i] value using a random value urndm generated between [0,1]
up to a maximum value maxstep
re-implement by derived classes if needed to be modified
calculate the distance (metric) between this one and another configuration
Presently a cartesian metric is used.
re-implement by derived classes if needed to be modified
print the position in the standard output ostream
GSL prints in addition n iteration, n function calls, temperature and energy
re-implement by derived classes if necessary