integrator.h

00001 #ifndef INTEGRATOR_H
00002 #define INTEGRATOR_H
00003 
00004 #include "afltypes.h"
00005 #include "simplex.h"
00006 
00007 namespace afl
00008 {
00009     class Field;
00014     class Integrator
00015     {
00016 
00018         public:
00022             virtual ~Integrator(  );
00028             virtual Value integral( const Simplex& s ) const = 0;
00029 
00034             virtual void toXML( std::ostream& doc ) const = 0;
00035 
00040             virtual Integrator* clone(  ) = 0;
00041  
00046             virtual void setField( const Field* field ) ;
00047 
00051             virtual const std::string& getMethod(  ) const = 0;
00052 
00057             void setParentField( const Field* parent ) { _field = parent; }
00058 
00060         protected:
00066             Integrator( const Field* field, const Parameters& params );
00067 
00069         protected:
00070 
00074             const Field* _field;
00075     };
00076 
00077 };
00078 
00079 #endif // INTEGRATOR_H

Generated on Fri Dec 22 07:17:50 2006 for afl by  doxygen 1.4.6