HHChannelBase Class Reference

#include <HHChannelBase.h>

Inheritance diagram for HHChannelBase:
Inheritance graph
[legend]
Collaboration diagram for HHChannelBase:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 HHChannelBase ()
 ~HHChannelBase ()
void setXpower (const Eref &e, double Xpower)
double getXpower (const Eref &e) const
void setYpower (const Eref &e, double Ypower)
double getYpower (const Eref &e) const
void setZpower (const Eref &e, double Zpower)
double getZpower (const Eref &e) const
void setInstant (const Eref &e, int Instant)
int getInstant (const Eref &e) const
void setX (const Eref &e, double X)
double getX (const Eref &e) const
void setY (const Eref &e, double Y)
double getY (const Eref &e) const
void setZ (const Eref &e, double Z)
double getZ (const Eref &e) const
void setUseConcentration (const Eref &e, int value)
int getUseConcentration (const Eref &e) const
double vGetModulation (const Eref &e) const
void handleConc (const Eref &e, double conc)
HHGategetXgate (unsigned int i)
HHGategetYgate (unsigned int i)
HHGategetZgate (unsigned int i)
void setNumGates (unsigned int num)
unsigned int getNumXgates () const
unsigned int getNumYgates () const
 Returns 1 if Y gate present, otherwise 0.
unsigned int getNumZgates () const
 Returns 1 if Z gate present, otherwise 0.
void createGate (const Eref &e, string gateType)
virtual void vSetXpower (const Eref &e, double Xpower)=0
virtual void vSetYpower (const Eref &e, double Ypower)=0
virtual void vSetZpower (const Eref &e, double Zpower)=0
virtual void vSetInstant (const Eref &e, int Instant)=0
virtual int vGetInstant (const Eref &e) const =0
virtual void vSetX (const Eref &e, double X)=0
virtual double vGetX (const Eref &e) const =0
virtual void vSetY (const Eref &e, double Y)=0
virtual double vGetY (const Eref &e) const =0
virtual void vSetZ (const Eref &e, double Z)=0
virtual double vGetZ (const Eref &e) const =0
virtual void vSetUseConcentration (const Eref &e, int value)=0
virtual void vHandleConc (const Eref &e, double conc)=0
virtual HHGatevGetXgate (unsigned int i) const =0
virtual HHGatevGetYgate (unsigned int i) const =0
virtual HHGatevGetZgate (unsigned int i) const =0
virtual void vCreateGate (const Eref &e, string gateType)=0
virtual void vSetSolver (const Eref &e, Id hsolve)

Static Public Member Functions

static double power1 (double x, double p)
static double power2 (double x, double p)
static double power3 (double x, double p)
static double power4 (double x, double p)
static double powerN (double x, double p)
static PFDD selectPower (double power)
static void zombify (Element *orig, const Cinfo *zClass, Id hsolve)
static const CinfoinitCinfo ()

Protected Attributes

double Xpower_
 Exponent for X gate.
double Ypower_
 Exponent for Y gate.
double Zpower_
 Exponent for Z gate.
bool useConcentration_
 Flag for use of conc for input to Z gate calculations.
double modulation_
 Value used to scale channel conductance up or down.

Detailed Description

The HHChannelBase is the base class for defining Hodgkin-Huxley type channels, specifically dealing with derivatives used in the HSolver. This is derived from the ChanBase rather than the ChanCommon, since the Zombie classes used in the HSolver will not use the ChanCommon fields.


Constructor & Destructor Documentation

HHChannelBase::HHChannelBase (  ) 
HHChannelBase::~HHChannelBase (  ) 

Member Function Documentation

void HHChannelBase::createGate ( const Eref e,
string  gateType 
)

Function for safely creating each gate, identified by strings as X, Y and Z. Will only work on a new channel, not on a copy. The idea is that the gates are always referred to the original 'library' channel, and their contents cannot be touched except by the original.

Referenced by initCinfo().

int HHChannelBase::getInstant ( const Eref e  )  const

References vGetInstant().

Referenced by initCinfo().

Here is the call graph for this function:

unsigned int HHChannelBase::getNumXgates (  )  const

Access function for the number of Xgates. Gives 1 if present, otherwise 0.

References vGetXgate().

Referenced by initCinfo().

Here is the call graph for this function:

unsigned int HHChannelBase::getNumYgates (  )  const

Returns 1 if Y gate present, otherwise 0.

References vGetYgate().

Referenced by initCinfo().

Here is the call graph for this function:

unsigned int HHChannelBase::getNumZgates (  )  const

Returns 1 if Z gate present, otherwise 0.

References vGetZgate().

Referenced by initCinfo().

Here is the call graph for this function:

int HHChannelBase::getUseConcentration ( const Eref e  )  const

References useConcentration_.

Referenced by initCinfo(), and zombify().

double HHChannelBase::getX ( const Eref e  )  const

References vGetX().

Referenced by initCinfo().

Here is the call graph for this function:

HHGate * HHChannelBase::getXgate ( unsigned int  i  ) 

Access function used for the X gate. The index is ignored.

References vGetXgate().

Referenced by initCinfo().

Here is the call graph for this function:

double HHChannelBase::getXpower ( const Eref e  )  const

References Xpower_.

Referenced by initCinfo(), and zombify().

double HHChannelBase::getY ( const Eref e  )  const

References vGetY().

Referenced by initCinfo().

Here is the call graph for this function:

HHGate * HHChannelBase::getYgate ( unsigned int  i  ) 

Access function used for the Y gate. The index is ignored.

References vGetYgate().

Referenced by initCinfo().

Here is the call graph for this function:

double HHChannelBase::getYpower ( const Eref e  )  const

References Ypower_.

Referenced by initCinfo(), and zombify().

double HHChannelBase::getZ ( const Eref e  )  const

References vGetZ().

Referenced by initCinfo().

Here is the call graph for this function:

HHGate * HHChannelBase::getZgate ( unsigned int  i  ) 

Access function used for the Z gate. The index is ignored.

References vGetZgate().

Referenced by initCinfo().

Here is the call graph for this function:

double HHChannelBase::getZpower ( const Eref e  )  const

References Zpower_.

Referenced by initCinfo(), and zombify().

void HHChannelBase::handleConc ( const Eref e,
double  conc 
)

Assign the local conc_ to the incoming conc from the concentration calculations for the compartment. Typically the message source will be a CaConc object, but there are other options for computing the conc.

References vHandleConc().

Referenced by initCinfo().

Here is the call graph for this function:

const Cinfo * HHChannelBase::initCinfo (  )  [static]

Specify the Class Info static variable for initialization.

ChannelOut SrcFinfo defined above.

Permability SrcFinfo defined above.

Reimplemented from ChanBase.

Reimplemented in HHChannel, and ZombieHHChannel.

References createGate(), getInstant(), getNumXgates(), getNumYgates(), getNumZgates(), getUseConcentration(), getX(), getXgate(), getXpower(), getY(), getYgate(), getYpower(), getZ(), getZgate(), getZpower(), handleConc(), ChanBase::initCinfo(), HHGate::initCinfo(), setInstant(), setNumGates(), setUseConcentration(), setX(), setXpower(), setY(), setYpower(), setZ(), and setZpower().

Referenced by ZombieHHChannel::initCinfo(), and HHChannel::initCinfo().

Here is the call graph for this function:

static double HHChannelBase::power1 ( double  x,
double  p 
) [inline, static]

Referenced by selectPower().

static double HHChannelBase::power2 ( double  x,
double  p 
) [inline, static]

Referenced by power4(), and selectPower().

static double HHChannelBase::power3 ( double  x,
double  p 
) [inline, static]

Referenced by selectPower().

static double HHChannelBase::power4 ( double  x,
double  p 
) [inline, static]

References power2().

Referenced by selectPower().

Here is the call graph for this function:

double HHChannelBase::powerN ( double  x,
double  p 
) [static]

Referenced by selectPower().

PFDD HHChannelBase::selectPower ( double  power  )  [static]

References doubleEq(), power1(), power2(), power3(), power4(), and powerN().

Referenced by HHChannel::vSetXpower(), HHChannel::vSetYpower(), and HHChannel::vSetZpower().

Here is the call graph for this function:

void HHChannelBase::setInstant ( const Eref e,
int  Instant 
)

References vSetInstant().

Referenced by initCinfo().

Here is the call graph for this function:

void HHChannelBase::setNumGates ( unsigned int  num  ) 

Dummy assignment function for the number of gates.

Referenced by initCinfo().

void HHChannelBase::setUseConcentration ( const Eref e,
int  value 
)

References useConcentration_, and vSetUseConcentration().

Referenced by initCinfo().

Here is the call graph for this function:

void HHChannelBase::setX ( const Eref e,
double  X 
)

References vSetX().

Referenced by initCinfo().

Here is the call graph for this function:

void HHChannelBase::setXpower ( const Eref e,
double  power 
)

Assigns the Xpower for this gate. If the gate exists and has only this element for input, then change the gate value. If the gate exists and has multiple parents, then make a new gate. If the gate does not exist, make a new gate

References checkPower(), and vSetXpower().

Referenced by initCinfo().

Here is the call graph for this function:

void HHChannelBase::setY ( const Eref e,
double  Y 
)

References vSetY().

Referenced by initCinfo().

Here is the call graph for this function:

void HHChannelBase::setYpower ( const Eref e,
double  Ypower 
)

References checkPower(), and vSetYpower().

Referenced by initCinfo().

Here is the call graph for this function:

void HHChannelBase::setZ ( const Eref e,
double  Z 
)

References vSetZ().

Referenced by initCinfo().

Here is the call graph for this function:

void HHChannelBase::setZpower ( const Eref e,
double  Zpower 
)

References checkPower(), and vSetZpower().

Referenced by initCinfo().

Here is the call graph for this function:

virtual void HHChannelBase::vCreateGate ( const Eref e,
string  gateType 
) [pure virtual]

Implemented in HHChannel.

virtual int HHChannelBase::vGetInstant ( const Eref e  )  const [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by getInstant().

double HHChannelBase::vGetModulation ( const Eref e  )  const [virtual]

Implements ChanBase.

Reimplemented in HHChannel.

References modulation_.

virtual double HHChannelBase::vGetX ( const Eref e  )  const [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by getX().

virtual HHGate* HHChannelBase::vGetXgate ( unsigned int  i  )  const [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by getNumXgates(), and getXgate().

virtual double HHChannelBase::vGetY ( const Eref e  )  const [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by getY().

virtual HHGate* HHChannelBase::vGetYgate ( unsigned int  i  )  const [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by getNumYgates(), and getYgate().

virtual double HHChannelBase::vGetZ ( const Eref e  )  const [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by getZ().

virtual HHGate* HHChannelBase::vGetZgate ( unsigned int  i  )  const [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by getNumZgates(), and getZgate().

virtual void HHChannelBase::vHandleConc ( const Eref e,
double  conc 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by handleConc().

virtual void HHChannelBase::vSetInstant ( const Eref e,
int  Instant 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setInstant().

void HHChannelBase::vSetSolver ( const Eref e,
Id  hsolve 
) [virtual]

Reimplemented in ZombieHHChannel.

Referenced by zombify().

virtual void HHChannelBase::vSetUseConcentration ( const Eref e,
int  value 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setUseConcentration().

virtual void HHChannelBase::vSetX ( const Eref e,
double  X 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setX().

virtual void HHChannelBase::vSetXpower ( const Eref e,
double  Xpower 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setXpower(), and zombify().

virtual void HHChannelBase::vSetY ( const Eref e,
double  Y 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setY().

virtual void HHChannelBase::vSetYpower ( const Eref e,
double  Ypower 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setYpower(), and zombify().

virtual void HHChannelBase::vSetZ ( const Eref e,
double  Z 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setZ().

virtual void HHChannelBase::vSetZpower ( const Eref e,
double  Zpower 
) [pure virtual]

Implemented in HHChannel, and ZombieHHChannel.

Referenced by setZpower(), and zombify().

void HHChannelBase::zombify ( Element orig,
const Cinfo zClass,
Id  hsolve 
) [static]

Member Data Documentation

double HHChannelBase::modulation_ [protected]

Flag for use of conc for input to Z gate calculations.

Referenced by getUseConcentration(), setUseConcentration(), HHChannel::vProcess(), HHChannel::vReinit(), and HHChannel::vSetZpower().

double HHChannelBase::Xpower_ [protected]
double HHChannelBase::Ypower_ [protected]
double HHChannelBase::Zpower_ [protected]

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

Generated on 1 Jul 2015 for MOOSE by  doxygen 1.6.1