00001 /********************************************************************** 00002 ** This program is part of 'MOOSE', the 00003 ** Messaging Object Oriented Simulation Environment, 00004 ** also known as GENESIS 3 base code. 00005 ** copyright (C) 2003-2006 Upinder S. Bhalla. and NCBS 00006 ** It is made available under the terms of the 00007 ** GNU Lesser General Public License version 2.1 00008 ** See the file COPYING.LIB for the full notice. 00009 **********************************************************************/ 00010 00011 #ifndef _SYM_COMPARTMENT_H 00012 #define _SYM_COMPARTMENT_H 00013 00024 class SymCompartment: public moose::Compartment 00025 { 00026 public: 00027 SymCompartment(); 00028 ~SymCompartment() {;} 00029 00030 // Dest function definitions. 00031 void raxialSphere( double Ra, double Vm ); 00032 void raxialCylinder( double Ra, double Vm ); 00033 void raxialSym( double Ra, double Vm ); 00034 void sumRaxial( double Ra ); 00035 00036 static const Cinfo* initCinfo(); 00037 00038 // These functions override the virtual equivalents from the 00039 // Compartment. 00040 void vReinit( const Eref& e, ProcPtr p ); 00041 void vInitProc( const Eref& e, ProcPtr p ); 00042 void vInitReinit( const Eref& e, ProcPtr p ); 00043 private: 00044 // used for storing multiplicative coefficient computed from 00045 // adjacent nodes in star-mesh transformation 00046 double coeff_; 00047 double RaSum_; 00048 }; 00049 00050 #endif // _SYM_COMPARTMENT_H