MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ZombieCompartment.h
Go to the documentation of this file.
1 /**********************************************************************
2 ** This program is part of 'MOOSE', the
3 ** Messaging Object Oriented Simulation Environment,
4 ** also known as GENESIS 3 base code.
5 ** copyright (C) 2003-2012 Upinder S. Bhalla. and NCBS
6 ** It is made available under the terms of the
7 ** GNU Lesser General Public License version 2.1
8 ** See the file COPYING.LIB for the full notice.
9 **********************************************************************/
10 
11 #ifndef _ZOMBIE_COMPARTMENT_H
12 #define _ZOMBIE_COMPARTMENT_H
13 
14 #include "global.h"
15 
16 #include "header.h"
17 #include "ElementValueFinfo.h"
18 #include "../utility/print_function.hpp"
19 #include "../biophysics/CompartmentBase.h"
20 #include "../biophysics/Compartment.h"
21 #include "../randnum/RNG.h"
22 #include "HinesMatrix.h"
23 #include "HSolveStruct.h"
24 #include "HSolvePassive.h"
25 #include "RateLookup.h"
26 #include "HSolveActive.h"
27 #include "HSolve.h"
28 
33 //class DataHandler;
34 
36 {
37 public:
39  virtual ~ZombieCompartment();
40 
41  /*
42  * Value Field access function definitions.
43  */
44 
45  // Fields handled by solver.
46  void vSetVm( const Eref& e , double Vm );
47  double vGetVm( const Eref& e ) const;
48  void vSetEm( const Eref& e , double Em );
49  double vGetEm( const Eref& e ) const;
50  void vSetCm( const Eref& e , double Cm );
51  double vGetCm( const Eref& e ) const;
52  void vSetRm( const Eref& e , double Rm );
53  double vGetRm( const Eref& e ) const;
54  void vSetRa( const Eref& e , double Ra );
55  double vGetRa( const Eref& e ) const;
56  double vGetIm( const Eref& e ) const;
57  void vSetInject( const Eref& e , double Inject );
58  double vGetInject( const Eref& e ) const;
59  void vSetInitVm( const Eref& e , double initVm );
60  double vGetInitVm( const Eref& e ) const;
61 
62  // Dest function definitions.
63  void dummy( const Eref& e, ProcPtr p );
64 
69  void vProcess( const Eref& e, ProcPtr p );
70 
74  void vReinit( const Eref& e, ProcPtr p );
75 
84  void vInitProc( const Eref& e, ProcPtr p );
85 
90  void vInitReinit( const Eref& e, ProcPtr p );
91 
96  void vHandleChannel( const Eref& e, double Gk, double Ek);
97 
101  void vHandleRaxial( double Ra, double Vm);
102 
106  void vHandleAxial( double Vm);
107 
115  void vInjectMsg( const Eref& e , double current);
116 
117 
125  void vRandInject( const Eref& e , double prob, double current);
126 
128  void vSetSolver( const Eref& e, Id hsolve );
129 
133  static const Cinfo* initCinfo();
134 
136  // utility funcs
138  double mtrand( void );
139 
140 private:
142 
143  static const double EPSILON;
144 
145  void copyFields( moose::Compartment* c );
146 
148 
149 };
150 
151 #endif // _ZOMBIE_COMPARTMENT_H
moose::RNG< double > rng
void vSetRm(const Eref &e, double Rm)
static const double EPSILON
static const Cinfo * initCinfo()
void vReinit(const Eref &e, ProcPtr p)
double vGetInject(const Eref &e) const
void vSetSolver(const Eref &e, Id hsolve)
Assigns the solver to the zombie.
void vInitProc(const Eref &e, ProcPtr p)
void vSetVm(const Eref &e, double Vm)
void dummy(const Eref &e, ProcPtr p)
double vGetCm(const Eref &e) const
void vSetCm(const Eref &e, double Cm)
double vGetRa(const Eref &e) const
void vSetInject(const Eref &e, double Inject)
void vInjectMsg(const Eref &e, double current)
void vHandleAxial(double Vm)
double vGetInitVm(const Eref &e) const
void copyFields(moose::Compartment *c)
double vGetRm(const Eref &e) const
Definition: HSolve.h:16
void vSetEm(const Eref &e, double Em)
void vHandleChannel(const Eref &e, double Gk, double Ek)
Definition: Eref.h:26
void vProcess(const Eref &e, ProcPtr p)
void vSetInitVm(const Eref &e, double initVm)
void vRandInject(const Eref &e, double prob, double current)
double vGetIm(const Eref &e) const
Definition: Id.h:17
void vInitReinit(const Eref &e, ProcPtr p)
double vGetVm(const Eref &e) const
double vGetEm(const Eref &e) const
void vSetRa(const Eref &e, double Ra)
Definition: Cinfo.h:18
void vHandleRaxial(double Ra, double Vm)