| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IEqSolver.h

Go to the documentation of this file.

    00001 // =============================================================================
    00002 #ifndef GAUDIGSL_IEQSOLVER_H
    00003 #define GAUDIGSL_IEQSOLVER_H 1
    00004 // Include files
    00005 // from STL
    00006 #include <vector>
    00007 #include <string>
    00008
    00009 // from Gaudi
    00010 #include "GaudiKernel/IAlgTool.h"
    00011
    00012 // forward declarations
    00013 namespace Genfun
    00014 {
    00015   class AbsFunction;
    00016   class Argument;
    00017 }
    00018
    00023 static const InterfaceID IID_IEqSolver("IEqSolver", 1 , 0);
    00024
    00032 class IEqSolver : virtual public IAlgTool
    00033
    00034 {
    00035
    00036 public:
    00038   typedef Genfun::AbsFunction          GenFunc   ;
    00040   typedef std::vector<const GenFunc*>  Equations ;
    00042   typedef Genfun::Argument             Arg       ;
    00043
    00044 public:
    00046   static const InterfaceID& interfaceID() { return IID_IEqSolver; }
    00047
    00049
    00058   virtual StatusCode solver( const Equations& equations ,
    00059                              Arg&             solution  ) const = 0 ;
    00060
    00061
    00062 protected:
    00063
    00064 private:
    00065 };
    00066
    00067 #endif // GAUDIGSL_IEQSOLVER_H