00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _Nernst_h
00011 #define _Nernst_h
00012
00016 class Nernst
00017 {
00018 public:
00019 Nernst();
00020
00022
00024 double getE() const;
00025
00026 void setTemperature( double value );
00027 double getTemperature() const;
00028
00029 void setValence( int value );
00030 int getValence() const;
00031
00032 void setCin( double value );
00033 double getCin() const;
00034
00035 void setCout( double value );
00036 double getCout() const;
00037
00038 void setScale( double value );
00039 double getScale() const;
00040
00042
00044
00045 void handleCin( const Eref& e, double conc );
00046 void handleCout( const Eref& e, double conc );
00047
00048 static const Cinfo* initCinfo();
00049 private:
00050 void updateE( );
00051 double E_;
00052 double Temperature_;
00053 int valence_;
00054 double Cin_;
00055 double Cout_;
00056 double scale_;
00057 double factor_;
00058 static const double R_OVER_F;
00059 static const double ZERO_CELSIUS;
00060 };
00061
00062
00063
00064 #endif // _Nernst_h