indii/fmri/hemodynamic/BalloonModel.hpp

00001 #ifndef INDII_FMRI_HEMODYNAMIC_BALLOONMODEL_HPP
00002 #define INDII_FMRI_HEMODYNAMIC_BALLOONMODEL_HPP
00003 
00004 #include "indii/ml/aux/vector.hpp"
00005 #include "indii/ml/ode/DifferentialModel.hpp"
00006 #include "indii/ml/ode/FunctionCollection.hpp"
00007 #include "indii/ml/ode/ParameterCollection.hpp"
00008 
00009 namespace indii {
00010   namespace fmri {
00011     namespace hemodynamic {
00012 
00013 /**
00014  * Abstract balloon %model.
00015  *
00016  * @author Lawrence Murray <lawrence@indii.org>
00017  * @version $Rev: 285 $
00018  * @date $Date: 2007-07-20 17:25:40 +0100 (Fri, 20 Jul 2007) $
00019  */
00020 class BalloonModel : public indii::ml::ode::DifferentialModel,
00021     public indii::ml::ode::ParameterCollection,
00022     public indii::ml::ode::FunctionCollection {
00023 public:
00024   /**
00025    * Constructor.
00026    *
00027    * @param dimensions Number of state variables.
00028    * @param numParameters Number of biophysical parameters.
00029    * @param numFunctions Number of biophysical functions.
00030    */
00031   BalloonModel(const unsigned int dimensions, const unsigned int numParameters,
00032       const unsigned int numFunctions);
00033 
00034   /**
00035    * Destructor.
00036    */
00037   virtual ~BalloonModel();
00038 
00039   /**
00040    * Provide a suggested initial state. This can be passed to the
00041    * constructor of the ordinary differential equation solver being
00042    * used on the %model, such as indii::ml::ode::AdaptiveRungeKutta.
00043    *
00044    * @return Suggested initial state for the system.
00045    */
00046   virtual indii::ml::aux::vector suggestInitialState() = 0;
00047 
00048 };
00049 
00050     }
00051   }
00052 }
00053 
00054 #endif

Generated on Tue Oct 9 22:02:07 2007 for fmrii fMRI Modelling Library by  doxygen 1.5.2