Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:10:24

0001 // @(#)root/minuit2:$Id$
0002 // Authors: M. Winkler, F. James, L. Moneta, A. Zsenei   2003-2005
0003 
0004 /**********************************************************************
0005  *                                                                    *
0006  * Copyright (c) 2005 LCG ROOT Math team,  CERN/PH-SFT                *
0007  *                                                                    *
0008  **********************************************************************/
0009 
0010 #ifndef ROOT_Minuit2_MinimumSeedGenerator
0011 #define ROOT_Minuit2_MinimumSeedGenerator
0012 
0013 namespace ROOT {
0014 
0015 namespace Minuit2 {
0016 
0017 class MinimumSeed;
0018 class MnFcn;
0019 class GradientCalculator;
0020 class MnUserParameterState;
0021 class MnStrategy;
0022 class AnalyticalGradientCalculator;
0023 
0024 /** base class for seed generators (starting values); the seed generator
0025     prepares initial starting values from the input (MnUserParameterState)
0026     for the minimization;
0027  */
0028 
0029 class MinimumSeedGenerator {
0030 
0031 public:
0032    virtual ~MinimumSeedGenerator() {}
0033 
0034    virtual MinimumSeed
0035    operator()(const MnFcn &, const GradientCalculator &, const MnUserParameterState &, const MnStrategy &) const = 0;
0036 
0037    virtual MinimumSeed operator()(const MnFcn &, const AnalyticalGradientCalculator &, const MnUserParameterState &,
0038                                   const MnStrategy &) const = 0;
0039 };
0040 
0041 } // namespace Minuit2
0042 
0043 } // namespace ROOT
0044 
0045 #endif // ROOT_Minuit2_MinimumSeedGenerator