| 45 | 
  | 
}; | 
| 46 | 
  | 
 | 
| 47 | 
  | 
 | 
| 48 | 
< | 
class Integrator{ | 
| 48 | 
> | 
class BaseIntegrator{ | 
| 49 | 
  | 
   | 
| 50 | 
  | 
public: | 
| 51 | 
< | 
  Integrator(){} | 
| 52 | 
< | 
  virtual ~Integrator(){} | 
| 51 | 
> | 
  BaseIntegrator(){} | 
| 52 | 
> | 
  virtual ~BaseIntegrator(){} | 
| 53 | 
  | 
   | 
| 54 | 
  | 
  virtual void integrate( void ) = 0; | 
| 55 | 
+ | 
  virtual double  getConservedQuantity(void) = 0;   | 
| 56 | 
  | 
}; | 
| 57 | 
+ | 
/* | 
| 58 | 
+ | 
template<typename T> class AbstractTemplateIntegrator : public T | 
| 59 | 
+ | 
{ | 
| 60 | 
+ | 
//  public: | 
| 61 | 
+ | 
//    AbstractTemplateIntegrator() {} | 
| 62 | 
+ | 
//    virtual ~AbstractTemplateIntegrator() {} | 
| 63 | 
+ | 
     | 
| 64 | 
+ | 
//    virtual void integrate(void) {} | 
| 65 | 
+ | 
}; | 
| 66 | 
  | 
 | 
| 67 | 
< | 
 | 
| 67 | 
> | 
typedef AbstractTemplateIntegrator<BaseIntegrator> TemplateIntegrator;  | 
| 68 | 
> | 
*/ | 
| 69 | 
  | 
#endif |