Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
MinimumSeedGenerator.h
Go to the documentation of this file.
1 // @(#)root/minuit2:$Id$
2 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3 
4 /**********************************************************************
5  * *
6  * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7  * *
8  **********************************************************************/
9 
10 #ifndef ROOT_Minuit2_MinimumSeedGenerator
11 #define ROOT_Minuit2_MinimumSeedGenerator
12 
13 namespace ROOT {
14 
15  namespace Minuit2 {
16 
17 
18 class MinimumSeed;
19 class MnFcn;
20 class GradientCalculator;
21 class MnUserParameterState;
22 class MnStrategy;
23 class AnalyticalGradientCalculator;
24 
25 /** base class for seed generators (starting values); the seed generator
26  prepares initial starting values from the input (MnUserParameterState)
27  for the minimization;
28  */
29 
30 class MinimumSeedGenerator {
31 
32 public:
33 
34  virtual ~MinimumSeedGenerator() {}
35 
36  virtual MinimumSeed operator()(const MnFcn&, const GradientCalculator&, const MnUserParameterState&, const MnStrategy&) const = 0;
37 
38  virtual MinimumSeed operator()(const MnFcn&, const AnalyticalGradientCalculator&, const MnUserParameterState&, const MnStrategy&) const = 0;
39 };
40 
41  } // namespace Minuit2
42 
43 } // namespace ROOT
44 
45 #endif // ROOT_Minuit2_MinimumSeedGenerator