00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _ZOMBIE_CACONC_H
00012 #define _ZOMBIE_CACONC_H
00013
00018 class ZombieCaConc: public CaConcBase
00019 {
00020 public:
00021 ZombieCaConc()
00022 : CaConcBase(),
00023 hsolve_( NULL ),
00024 tau_( 0.0 ),
00025 B_( 0.0 ),
00026 thickness_( 0.0 )
00027 {
00028 ;
00029 }
00030
00032
00034 void vReinit( const Eref& e, ProcPtr info );
00035 void vProcess( const Eref& e, ProcPtr info );
00036
00037 void vCurrent( const Eref& e, double I );
00038 void vCurrentFraction( const Eref& e, double I, double fraction );
00039 void vIncrease( const Eref& e, double I );
00040 void vDecrease( const Eref& e, double I );
00042
00044 void vSetCa( const Eref& e, double val );
00045 double vGetCa( const Eref& e ) const;
00046 void vSetCaBasal( const Eref& e , double val );
00047 double vGetCaBasal( const Eref& e ) const;
00048 void vSetTau( const Eref& e , double val );
00049 double vGetTau( const Eref& e ) const;
00050 void vSetB( const Eref& e , double val );
00051 double vGetB( const Eref& e ) const;
00052 void vSetCeiling( const Eref& e , double val );
00053 double vGetCeiling( const Eref& e ) const;
00054 void vSetFloor( const Eref& e , double val );
00055 double vGetFloor( const Eref& e ) const;
00056
00058 void vSetSolver( const Eref& e, Id hsolve );
00060 static const Cinfo* initCinfo();
00061
00062 private:
00063 HSolve* hsolve_;
00064
00065 double tau_;
00066 double B_;
00067 double thickness_;
00068 };
00069
00070
00071 #endif // _ZOMBIE_CACONC_H