![]() |
NEURON
|
#include <kschan.h>
Public Member Functions | |
KSChan (Object *, bool is_point=false) | |
virtual | ~KSChan () |
virtual void | alloc (Prop *) |
virtual void | init (NrnThread *, Memb_list *) |
virtual void | state (NrnThread *, Memb_list *) |
virtual void | cur (NrnThread *, Memb_list *) |
virtual void | jacob (NrnThread *, Memb_list *) |
void | add_channel (const char **) |
virtual int | count () |
virtual void | map (Prop *, int, neuron::container::data_handle< double > *, neuron::container::data_handle< double > *, double *) |
virtual void | spec (Memb_list *) |
virtual void | matsol (NrnThread *, Memb_list *) |
virtual void | cv_sc_update (NrnThread *, Memb_list *) |
double | conductance (double gmax, Memb_list *ml, std::size_t instance, std::size_t offset) |
const char * | state (int index) |
int | trans_index (int src, int target) |
int | gate_index (int state_index) |
bool | is_point () |
bool | is_single () |
void | set_single (bool, bool update=true) |
void | destroy_pnt (Point_process *) |
int | nsingle (Point_process *) |
void | nsingle (Point_process *, int) |
double | alpha (double v, int, int) |
double | beta (double v, int, int) |
void | setstructure (Vect *) |
void | setname (const char *) |
void | setsname (int, const char *) |
void | setion (const char *) |
void | settype (KSTransition *, int type, const char *) |
void | setivrelation (int) |
KSState * | add_hhstate (const char *) |
KSState * | add_ksstate (int igate, const char *) |
void | remove_state (int) |
KSTransition * | add_transition (int src, int target) |
void | remove_transition (int) |
void | setcond () |
void | power (KSGateComplex *, int) |
void | usetable (bool, int size, double vmin, double vmax) |
void | usetable (bool) |
int | usetable (double *vmin, double *vmax) |
bool | usetable () |
void | check_table_thread (NrnThread *) |
void | parm_default_fill () |
Public Attributes | |
std::string | name_ |
std::string | ion_ |
double | gmax_deflt_ |
double | erev_deflt_ |
int | cond_model_ |
KSIv * | iv_relation_ |
int | ngate_ |
int | ntrans_ |
int | ivkstrans_ |
int | iligtrans_ |
int | nhhstate_ |
int | nksstate_ |
int | nstate_ |
KSState * | state_ |
KSGateComplex * | gc_ |
KSTransition * | trans_ |
Symbol * | ion_sym_ |
int | nligand_ |
Symbol ** | ligands_ |
Object * | obj_ |
KSSingle * | single_ |
Private Member Functions | |
void | free1 () |
void | setupmat () |
void | fillmat (double v, Datum *pd) |
void | mat_dt (double dt, Memb_list *ml, std::size_t instance, std::size_t offset) |
void | solvemat (Memb_list *, std::size_t instance, std::size_t offset) |
void | mulmat (Memb_list *ml, std::size_t instance, std::size_t offset_s, std::size_t offset_ds) |
void | ion_consist () |
Almost obsolete: No longer allow KSChan structure changes when instances exist. More... | |
void | ligand_consist (int, int, Prop *, Node *) |
Prop * | needion (Symbol *, Node *, Prop *) |
void | sname_install () |
Symbol * | looksym (const char *, Symbol *tmplt=NULL) |
Symbol * | installsym (const char *, int, Symbol *tmplt=NULL) |
void | freesym (Symbol *, Symbol *tmplt=NULL) |
Symbol ** | newppsym (int) |
void | delete_schan_node_data () |
void | alloc_schan_node_data () |
void | update_prop () |
void | err_if_has_instances () const |
Error if instances exist. More... | |
void | register_data_fields () |
KSState * | state_insert (int i, const char *name, double frac) |
void | state_remove (int i) |
KSGateComplex * | gate_insert (int ig, int is, int power) |
void | gate_remove (int i) |
KSTransition * | trans_insert (int i, int src, int target) |
void | trans_remove (int i) |
void | check_struct () |
Private Attributes | |
int | state_size_ |
int | gate_size_ |
int | trans_size_ |
bool | is_point_ |
bool | is_single_ |
int | pointtype_ |
int | mechtype_ |
int | cvode_ieq_ |
Symbol * | mechsym_ |
Symbol * | rlsym_ |
char * | mat_ |
double ** | elms_ |
double ** | diag_ |
int | dsize_ |
int | psize_ |
int | soffset_ |
int | gmaxoffset_ |
int | ppoff_ |
double | vmin_ |
double | vmax_ |
double | dvinv_ |
double | dtsav_ |
int | hh_tab_size_ |
bool | usetable_ |
std::vector< double > | parm_default {} |
KSChan::KSChan | ( | Object * | obj, |
bool | is_point = false |
||
) |
Definition at line 863 of file kschan.cpp.
void KSChan::add_channel | ( | const char ** | m | ) |
Definition at line 826 of file kschan.cpp.
KSState * KSChan::add_hhstate | ( | const char * | name | ) |
Definition at line 1523 of file kschan.cpp.
KSState * KSChan::add_ksstate | ( | int | igate, |
const char * | name | ||
) |
Definition at line 1551 of file kschan.cpp.
KSTransition * KSChan::add_transition | ( | int | src, |
int | target | ||
) |
Definition at line 1653 of file kschan.cpp.
|
virtual |
Definition at line 2303 of file kschan.cpp.
|
private |
Definition at line 2486 of file kschan.cpp.
|
private |
Definition at line 1681 of file kschan.cpp.
void KSChan::check_table_thread | ( | NrnThread * | nt | ) |
Definition at line 3195 of file kschan.cpp.
double KSChan::conductance | ( | double | gmax, |
Memb_list * | ml, | ||
std::size_t | instance, | ||
std::size_t | offset | ||
) |
Definition at line 2763 of file kschan.cpp.
|
virtual |
Definition at line 2958 of file kschan.cpp.
Definition at line 2587 of file kschan.cpp.
Definition at line 3028 of file kschan.cpp.
|
private |
Definition at line 2472 of file kschan.cpp.
void KSChan::destroy_pnt | ( | Point_process * | pp | ) |
Definition at line 138 of file kschan.cpp.
|
private |
Error if instances exist.
Definition at line 2239 of file kschan.cpp.
|
private |
Definition at line 2155 of file kschan.cpp.
|
private |
Definition at line 1253 of file kschan.cpp.
Definition at line 2100 of file kschan.cpp.
int KSChan::gate_index | ( | int | state_index | ) |
Definition at line 1044 of file kschan.cpp.
|
private |
Definition at line 1800 of file kschan.cpp.
|
private |
Definition at line 1831 of file kschan.cpp.
Definition at line 2497 of file kschan.cpp.
Definition at line 2084 of file kschan.cpp.
|
private |
Almost obsolete: No longer allow KSChan structure changes when instances exist.
However only a change to is_single_, ion_sym != NULL, or nligand affects the dparam size and that circumstance raises an error if instances exist prior to a call to ion_consist. So if ion_consist is called, either there are no instances, or there were no changes to the above three indicators and dparam size has not changed. However, even though ion_sym != NULL is the same, that does not mean that the specific ion used has not changed. And similarly for nligand. Thus, unless the must_allow_size_update is extended to include a change in ions used, ion_consist must continue to update the ion usage. But it no longer needs to realloc p->dparam.
Definition at line 2408 of file kschan.cpp.
Definition at line 2601 of file kschan.cpp.
Definition at line 2464 of file kschan.cpp.
Definition at line 2066 of file kschan.cpp.
|
virtual |
Definition at line 2962 of file kschan.cpp.
|
private |
Definition at line 2179 of file kschan.cpp.
Definition at line 3001 of file kschan.cpp.
|
private |
Definition at line 2216 of file kschan.cpp.
Definition at line 2367 of file kschan.cpp.
|
private |
Definition at line 2094 of file kschan.cpp.
int KSChan::nsingle | ( | Point_process * | pp | ) |
Definition at line 426 of file kssingle.cpp.
void KSChan::nsingle | ( | Point_process * | pp, |
int | n | ||
) |
Definition at line 421 of file kssingle.cpp.
void KSChan::parm_default_fill | ( | ) |
Definition at line 809 of file kschan.cpp.
void KSChan::power | ( | KSGateComplex * | gc, |
int | p | ||
) |
Definition at line 991 of file kschan.cpp.
|
private |
Definition at line 2249 of file kschan.cpp.
void KSChan::remove_state | ( | int | is | ) |
Definition at line 1589 of file kschan.cpp.
void KSChan::remove_transition | ( | int | it | ) |
Definition at line 1667 of file kschan.cpp.
void KSChan::set_single | ( | bool | b, |
bool | update = true |
||
) |
Definition at line 998 of file kschan.cpp.
void KSChan::setcond | ( | ) |
Definition at line 1298 of file kschan.cpp.
void KSChan::setion | ( | const char * | s | ) |
Definition at line 1155 of file kschan.cpp.
void KSChan::setivrelation | ( | int | ) |
void KSChan::setname | ( | const char * | s | ) |
Definition at line 943 of file kschan.cpp.
void KSChan::setsname | ( | int | i, |
const char * | s | ||
) |
Definition at line 1247 of file kschan.cpp.
void KSChan::setstructure | ( | Vect * | vec | ) |
Definition at line 1913 of file kschan.cpp.
void KSChan::settype | ( | KSTransition * | t, |
int | type, | ||
const char * | lig | ||
) |
Definition at line 1348 of file kschan.cpp.
|
private |
Definition at line 2120 of file kschan.cpp.
|
private |
Definition at line 2007 of file kschan.cpp.
|
private |
Definition at line 2190 of file kschan.cpp.
|
virtual |
Definition at line 2973 of file kschan.cpp.
const char * KSChan::state | ( | int | index | ) |
Definition at line 1031 of file kschan.cpp.
Definition at line 2533 of file kschan.cpp.
|
private |
Definition at line 1730 of file kschan.cpp.
|
private |
Definition at line 1770 of file kschan.cpp.
int KSChan::trans_index | ( | int | src, |
int | target | ||
) |
Definition at line 1035 of file kschan.cpp.
|
private |
Definition at line 1851 of file kschan.cpp.
|
private |
Definition at line 1887 of file kschan.cpp.
|
private |
Definition at line 1053 of file kschan.cpp.
void KSChan::usetable | ( | bool | use | ) |
Definition at line 3162 of file kschan.cpp.
void KSChan::usetable | ( | bool | use, |
int | size, | ||
double | vmin, | ||
double | vmax | ||
) |
Definition at line 3134 of file kschan.cpp.
int KSChan::usetable | ( | double * | vmin, |
double * | vmax | ||
) |
Definition at line 3189 of file kschan.cpp.
KSGateComplex* KSChan::gc_ |
KSTransition* KSChan::trans_ |