Gaudi Framework, version v24r2

Home   Generated: Wed Dec 4 2013
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
FuncMinimum.h
Go to the documentation of this file.
1 // $Id: FuncMinimum.h,v 1.3 2006/11/30 10:40:53 mato Exp $
2 // ============================================================================
3 #ifndef ALGTOOLS_FUNCMINIMUM_H
4 #define ALGTOOLS_FUNCMINIMUM_H 1
5 // Include files
6 // from CLHEP
7 #include "CLHEP/GenericFunctions/GenericFunctions.hh"
8 #include "CLHEP/GenericFunctions/Argument.hh"
9 #include "CLHEP/GenericFunctions/AbsFunction.hh"
10 #include "CLHEP/Matrix/SymMatrix.h"
11 // from Gaudi
12 #include "GaudiAlg/GaudiTool.h"
13 //from GSL
14 #include "gsl/gsl_multimin.h"
15 
16 // local
17 #include "GaudiGSL/IFuncMinimum.h"
18 
20 template <class TOOL> class ToolFactory;
21 
29 class FuncMinimum : public extends1<GaudiTool, IFuncMinimum> {
30  // friend factory for instantiation
31  friend class ToolFactory<FuncMinimum> ;
32 public:
34 public:
35 
40  virtual StatusCode minimum( const GenFunc& func ,
41  Arg& arg ) const;
42 
47  virtual StatusCode minimum( const GenFunc& func ,
48  Arg& arg ,
49  Covariance& covar ) const;
50 
52  virtual StatusCode initialize ();
53  virtual StatusCode finalize ();
54 
55  virtual ~FuncMinimum( );
56 
58  {
59  public:
63  FuncMinimumMisc (const GenFunc& func ,
64  Arg& arg );
65  // destructor
66  ~FuncMinimumMisc () ;
67 
68  public:
69  inline const Arg& argument () const { return m_argum ;}
70  inline Arg& argument () { return m_argum ;}
71  inline const GenFunc* equation () const { return m_eq ;}
72  inline const Gradient& gradient () const { return m_grad ;}
73  private:
74  // default constructor is disabled
75  FuncMinimumMisc () ;
76  // copy constructor is disabled
78  // assignment operator is disabled
80  private:
82  const GenFunc* m_eq ;
84  };
85 
86 
94  const std::string& name,
95  const IInterface* parent);
96 
97 private:
98 
100  FuncMinimum();
102  FuncMinimum ( const FuncMinimum& );
104  FuncMinimum& operator=( const FuncMinimum& );
105 
106 private:
107 
109  double m_max_iter ;
111  double m_step_size ;
112  double m_tol ;
113  const gsl_multimin_fdfminimizer_type* m_type ;
114 };
115 
116 // ============================================================================
117 // The END
118 // ============================================================================
119 #endif // ALGTOOLS_FUNCMINIMUM_H
120 // ============================================================================

Generated at Wed Dec 4 2013 14:33:08 for Gaudi Framework, version v24r2 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004