MOOSE - Multiscale Object Oriented Simulation Environment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
moose::IntFireBase Class Referenceabstract

#include <IntFireBase.h>

+ Inheritance diagram for moose::IntFireBase:
+ Collaboration diagram for moose::IntFireBase:

Public Member Functions

void activation (double val)
 
double getLastEventTime (const Eref &e) const
 
double getRefractoryPeriod (const Eref &e) const
 
double getThresh (const Eref &e) const
 
double getVReset (const Eref &e) const
 
bool hasFired (const Eref &e) const
 
 IntFireBase ()
 
void setRefractoryPeriod (const Eref &e, double val)
 
void setThresh (const Eref &e, double val)
 
void setVReset (const Eref &e, double val)
 
virtual void vProcess (const Eref &e, ProcPtr p)=0
 
virtual void vReinit (const Eref &e, ProcPtr p)=0
 
virtual ~IntFireBase ()
 
- Public Member Functions inherited from moose::Compartment
void cable ()
 
 Compartment ()
 
virtual double vGetCm (const Eref &e) const
 
virtual double vGetEm (const Eref &e) const
 
virtual double vGetIm (const Eref &e) const
 
virtual double vGetInitVm (const Eref &e) const
 
virtual double vGetInject (const Eref &e) const
 
virtual double vGetRa (const Eref &e) const
 
virtual double vGetRm (const Eref &e) const
 
virtual double vGetVm (const Eref &e) const
 
void vHandleAxial (double Vm)
 
void vHandleChannel (const Eref &e, double Gk, double Ek)
 
void vHandleRaxial (double Ra, double Vm)
 
void vInitProc (const Eref &e, ProcPtr p)
 
void vInitReinit (const Eref &e, ProcPtr p)
 
void vInjectMsg (const Eref &e, double current)
 
void vRandInject (const Eref &e, double prob, double current)
 
virtual void vSetCm (const Eref &e, double Cm)
 
virtual void vSetEm (const Eref &e, double Em)
 
virtual void vSetInitVm (const Eref &e, double initVm)
 
virtual void vSetInject (const Eref &e, double Inject)
 
virtual void vSetRa (const Eref &e, double Ra)
 
virtual void vSetRm (const Eref &e, double Rm)
 
virtual void vSetVm (const Eref &e, double Vm)
 
virtual ~Compartment ()
 
- Public Member Functions inherited from moose::CompartmentBase
void cable ()
 
 CompartmentBase ()
 
void displace (double dx, double dy, double dz)
 Displaces compartment by specified distance vector. More...
 
double getCm (const Eref &e) const
 
double getDiameter () const
 
double getEm (const Eref &e) const
 
double getIm (const Eref &e) const
 
double getInitVm (const Eref &e) const
 
double getInject (const Eref &e) const
 
double getLength () const
 
double getRa (const Eref &e) const
 
double getRm (const Eref &e) const
 
double getVm (const Eref &e) const
 
double getX () const
 
double getX0 () const
 
double getY () const
 
double getY0 () const
 
double getZ () const
 
double getZ0 () const
 
void handleAxial (double Vm)
 
void handleChannel (const Eref &e, double Gk, double Ek)
 
void handleRaxial (double Ra, double Vm)
 
void initProc (const Eref &e, ProcPtr p)
 
void initReinit (const Eref &e, ProcPtr p)
 
void injectMsg (const Eref &e, double current)
 
void process (const Eref &e, ProcPtr p)
 
void randInject (const Eref &e, double prob, double current)
 
bool rangeWarning (const string &field, double value)
 
void reinit (const Eref &e, ProcPtr p)
 
void setCm (const Eref &e, double Cm)
 
void setDiameter (double diameter)
 
void setEm (const Eref &e, double Em)
 
void setGeomAndElec (const Eref &e, double length, double dia)
 Scales electrical values along with setting length, dia. More...
 
void setInitVm (const Eref &e, double initVm)
 
void setInject (const Eref &e, double Inject)
 
void setLength (double length)
 
void setRa (const Eref &e, double Ra)
 
void setRm (const Eref &e, double Rm)
 
void setVm (const Eref &e, double Vm)
 
void setX (double value)
 
void setX0 (double value)
 
void setY (double value)
 
void setY0 (double value)
 
void setZ (double value)
 
void setZ0 (double value)
 
void updateLength ()
 
virtual void vSetSolver (const Eref &e, Id hsolve)
 
virtual ~CompartmentBase ()
 

Static Public Member Functions

static const CinfoinitCinfo ()
 
static SrcFinfo1< double > * spikeOut ()
 Message src for outgoing spikes. More...
 
- Static Public Member Functions inherited from moose::Compartment
static const CinfoinitCinfo ()
 
- Static Public Member Functions inherited from moose::CompartmentBase
static const CinfoinitCinfo ()
 
static SrcFinfo1< double > * VmOut ()
 
static void zombify (Element *orig, const Cinfo *zClass, Id hsolve)
 

Protected Attributes

double activation_
 
bool fired_
 
double lastEvent_
 
double refractT_
 
double threshold_
 
double vReset_
 
- Protected Attributes inherited from moose::Compartment
double A_
 
double B_
 
double Cm_
 
double Em_
 
double Im_
 
double initVm_
 
double inject_
 
double lastIm_
 
double Ra_
 
double Rm_
 
double sumInject_
 
double Vm_
 

Detailed Description

The IntFire class sets up an integrate-and-fire compartment.

Definition at line 19 of file IntFireBase.h.

Constructor & Destructor Documentation

IntFireBase::IntFireBase ( )

Definition at line 111 of file IntFireBase.cpp.

112  :
113  threshold_( 0.0 ),
114  vReset_( 0.0 ),
115  activation_( 0.0 ),
116  refractT_( 0.0 ),
117  lastEvent_( 0.0 ),
118  fired_( false )
119 {;}
IntFireBase::~IntFireBase ( )
virtual

Definition at line 121 of file IntFireBase.cpp.

122 {
123  ;
124 }

Member Function Documentation

void IntFireBase::activation ( double  val)

activation handles information coming from the SynHandler to the intFire.

Definition at line 171 of file IntFireBase.cpp.

References activation_.

Referenced by initCinfo().

172 {
173  activation_ += v;
174 }

+ Here is the caller graph for this function:

double IntFireBase::getLastEventTime ( const Eref e) const

Definition at line 157 of file IntFireBase.cpp.

References lastEvent_.

Referenced by initCinfo().

158 {
159  return lastEvent_;
160 }

+ Here is the caller graph for this function:

double IntFireBase::getRefractoryPeriod ( const Eref e) const

Definition at line 152 of file IntFireBase.cpp.

References refractT_.

Referenced by initCinfo().

153 {
154  return refractT_;
155 }

+ Here is the caller graph for this function:

double IntFireBase::getThresh ( const Eref e) const

Definition at line 132 of file IntFireBase.cpp.

References threshold_.

Referenced by initCinfo().

133 {
134  return threshold_;
135 }

+ Here is the caller graph for this function:

double IntFireBase::getVReset ( const Eref e) const

Definition at line 142 of file IntFireBase.cpp.

References vReset_.

Referenced by initCinfo().

143 {
144  return vReset_;
145 }

+ Here is the caller graph for this function:

bool IntFireBase::hasFired ( const Eref e) const

Definition at line 162 of file IntFireBase.cpp.

References fired_.

Referenced by initCinfo().

163 {
164  return fired_;
165 }

+ Here is the caller graph for this function:

const Cinfo * IntFireBase::initCinfo ( )
static

Initializes the class info.

Definition at line 27 of file IntFireBase.cpp.

References activation(), getLastEventTime(), getRefractoryPeriod(), getThresh(), getVReset(), hasFired(), moose::Compartment::initCinfo(), intFireBaseCinfo, setRefractoryPeriod(), setThresh(), setVReset(), and spikeOut().

Referenced by moose::LIF::initCinfo(), moose::ExIF::initCinfo(), moose::QIF::initCinfo(), moose::AdThreshIF::initCinfo(), and moose::IzhIF::initCinfo().

28 {
30  // Field Definitions
33  "thresh",
34  "firing threshold",
37  );
38 
40  "vReset",
41  "voltage is set to vReset after firing",
44  );
45 
46  static ElementValueFinfo< IntFireBase, double > refractoryPeriod(
47  "refractoryPeriod",
48  "Minimum time between successive spikes",
51  );
52 
54  "lastEventTime",
55  "Timestamp of last firing.",
57  );
58 
60  "hasFired",
61  "The object has fired within the last timestep",
63  );
65  // MsgDest Definitions
67  static DestFinfo activation(
68  "activation",
69  "Handles value of synaptic activation arriving on this object",
71 
73 
74  static Finfo* intFireFinfos[] =
75  {
76  &thresh, // Value
77  &vReset, // Value
78  &refractoryPeriod, // Value
79  &hasFired, // ReadOnlyValue
80  &lastEventTime, // ReadOnlyValue
81  &activation, // DestFinfo
82  IntFireBase::spikeOut() // MsgSrc
83  };
84 
85  static string doc[] =
86  {
87  "Name", "IntFireBase",
88  "Author", "Upi Bhalla",
89  "Description", "Base class for Integrate-and-fire compartment.",
90  };
91  static ZeroSizeDinfo< int > dinfo;
92  static Cinfo intFireBaseCinfo(
93  "IntFireBase",
95  intFireFinfos,
96  sizeof( intFireFinfos ) / sizeof (Finfo*),
97  &dinfo,
98  doc,
99  sizeof(doc)/sizeof(string)
100  );
101 
102  return &intFireBaseCinfo;
103 }
void setThresh(const Eref &e, double val)
static const Cinfo * initCinfo()
Definition: Compartment.cpp:26
double getVReset(const Eref &e) const
void setRefractoryPeriod(const Eref &e, double val)
static const Cinfo * intFireBaseCinfo
bool hasFired(const Eref &e) const
static SrcFinfo1< double > * spikeOut()
Message src for outgoing spikes.
Definition: IntFireBase.cpp:17
Definition: OpFunc.h:27
void setVReset(const Eref &e, double val)
double getRefractoryPeriod(const Eref &e) const
double getLastEventTime(const Eref &e) const
double getThresh(const Eref &e) const
Definition: Cinfo.h:18
void activation(double val)
Definition: Finfo.h:12

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void IntFireBase::setRefractoryPeriod ( const Eref e,
double  val 
)

Definition at line 147 of file IntFireBase.cpp.

References refractT_.

Referenced by initCinfo().

148 {
149  refractT_ = val;
150 }

+ Here is the caller graph for this function:

void IntFireBase::setThresh ( const Eref e,
double  val 
)

Definition at line 127 of file IntFireBase.cpp.

References threshold_.

Referenced by initCinfo().

128 {
129  threshold_ = val;
130 }

+ Here is the caller graph for this function:

void IntFireBase::setVReset ( const Eref e,
double  val 
)

Definition at line 137 of file IntFireBase.cpp.

References vReset_.

Referenced by initCinfo().

138 {
139  vReset_ = val;
140 }

+ Here is the caller graph for this function:

SrcFinfo1< double > * IntFireBase::spikeOut ( )
static

Message src for outgoing spikes.

Definition at line 17 of file IntFireBase.cpp.

Referenced by initCinfo(), moose::LIF::vProcess(), moose::ExIF::vProcess(), moose::QIF::vProcess(), moose::AdThreshIF::vProcess(), moose::AdExIF::vProcess(), and moose::IzhIF::vProcess().

18 {
20  "spikeOut",
21  "Sends out spike events. The argument is the timestamp of "
22  "the spike. "
23  );
24  return &spikeOut;
25 }
static SrcFinfo1< double > * spikeOut()
Message src for outgoing spikes.
Definition: IntFireBase.cpp:17

+ Here is the caller graph for this function:

virtual void moose::IntFireBase::vProcess ( const Eref e,
ProcPtr  p 
)
pure virtual

The process function does the object updating and sends out messages to channels, nernsts, and so on.

Reimplemented from moose::Compartment.

Implemented in moose::IzhIF, moose::AdExIF, moose::AdThreshIF, moose::QIF, moose::ExIF, and moose::LIF.

virtual void moose::IntFireBase::vReinit ( const Eref e,
ProcPtr  p 
)
pure virtual

The reinit function reinitializes all fields.

Reimplemented from moose::Compartment.

Implemented in moose::IzhIF, moose::AdExIF, moose::AdThreshIF, moose::QIF, moose::ExIF, and moose::LIF.

Member Data Documentation

double moose::IntFireBase::threshold_
protected

The documentation for this class was generated from the following files: