All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IEqSolver.h
Go to the documentation of this file.
1 // =============================================================================
2 #ifndef GAUDIGSL_IEQSOLVER_H
3 #define GAUDIGSL_IEQSOLVER_H 1
4 // Include files
5 // from STL
6 #include <vector>
7 #include <string>
8 
9 // from Gaudi
10 #include "GaudiKernel/IAlgTool.h"
11 
12 // forward declarations
13 namespace Genfun
14 {
15  class AbsFunction;
16  class Argument;
17 }
18 
26 class GAUDI_API IEqSolver : virtual public IAlgTool {
27 public:
30 
32  typedef Genfun::AbsFunction GenFunc ;
34  typedef std::vector<const GenFunc*> Equations ;
36  typedef Genfun::Argument Arg ;
37 
39 
48  virtual StatusCode solver( const Equations& equations ,
49  Arg& solution ) const = 0 ;
50 
51 };
52 
53 #endif // GAUDIGSL_IEQSOLVER_H
DeclareInterfaceID(IAlgTool, 3, 0)
InterfaceID.
Genfun::Argument Arg
Argument of function "GenFunc" (.
Definition: IEqSolver.h:36
Interface file for multidimensional root-finding (solving nonlinear system with n equations in n unkn...
Definition: IEqSolver.h:26
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
std::vector< const GenFunc * > Equations
Vector of the function "GenFunc" which we solver.
Definition: IEqSolver.h:34
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
Genfun::AbsFunction GenFunc
Function (.
Definition: IEqSolver.h:32
#define GAUDI_API
Definition: Kernel.h:108