vtf-logo

ClpSetAux.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // Copyright (C) 2002 Ralf Deiterding
00004 // Brandenburgische Universitaet Cottbus
00005 
00006 #ifndef AMROC_CLP_SETAUX_H
00007 #define AMROC_CLP_SETAUX_H
00008 
00017 template <class VectorType, class AuxVectorType, int dim> class ClpIntegratorBase;
00018 
00026 template <class VectorType, class AuxVectorType, int dim>
00027 class ClpSetAux {
00028   typedef typename VectorType::InternalDataType DataType;
00029   typedef ClpIntegratorBase<VectorType,AuxVectorType,dim> integrator_type;
00030 
00031 public:
00032   typedef typename integrator_type::vec_grid_data_type vec_grid_data_type;
00033   typedef void (*generic_func_type) ();
00034 
00035 public:
00036   ClpSetAux(integrator_type& integ) : _integrator(integ), f_aux(0) {}
00037   ClpSetAux(integrator_type& integ, generic_func_type aux) : _integrator(integ), f_aux(aux) {}
00038 
00039   inline const integrator_type& Integrator() const { return _integrator; }
00040   inline const int& NEquations() const { return Integrator().NEquations(); }
00041   inline const int& NGhosts() const { return Integrator().NGhosts(); }
00042   inline const int& NAux() const { return Integrator().NAux(); }
00043   inline const GridHierarchy& GH() const { return Integrator().GH(); }
00044 
00045 protected:
00046   integrator_type& _integrator;
00047   generic_func_type f_aux;
00048 };
00049 
00050 
00051 #endif