00001 #ifndef INDII_FMRI_EXPERIMENTAL_BLOCKDESIGNMODEL_HPP
00002 #define INDII_FMRI_EXPERIMENTAL_BLOCKDESIGNMODEL_HPP
00003
00004 #include "indii/ml/ode/FunctionModel.hpp"
00005
00006 namespace indii {
00007 namespace fmri {
00008 namespace experimental {
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 class BlockDesignModel : public indii::ml::ode::FunctionModel {
00021 public:
00022
00023
00024
00025
00026
00027
00028
00029
00030 BlockDesignModel(const double blockLength, const bool isFirstRest = true,
00031 const double restLevel = 0.0, const double activityLevel = 1.0);
00032
00033
00034
00035
00036 ~BlockDesignModel();
00037
00038
00039
00040
00041 double evaluate(const double t, const double y[]);
00042
00043 private:
00044
00045
00046
00047 const double blockLength;
00048
00049
00050
00051
00052 const bool isFirstRest;
00053
00054
00055
00056
00057 const double restLevel;
00058
00059
00060
00061
00062 const double activityLevel;
00063
00064 };
00065
00066 }
00067 }
00068 }
00069
00070 #endif