Represent ions used in mod file.
More...
Represent ions used in mod file.
Definition at line 53 of file codegen_info.hpp.
#include <codegen_info.hpp>
|
static std::vector< std::string > | get_possible_variables (const std::string &ion_name) |
| for a given ion, return different variable names/properties like internal/external concentration, reversal potential, ionic current etc. More...
|
|
◆ Ion() [1/2]
nmodl::codegen::Ion::Ion |
( |
| ) |
|
|
delete |
◆ Ion() [2/2]
nmodl::codegen::Ion::Ion |
( |
std::string |
name | ) |
|
|
inlineexplicit |
◆ current_derivative_name()
std::string nmodl::codegen::Ion::current_derivative_name |
( |
| ) |
const |
|
inline |
◆ current_derivative_pointer_name()
std::string nmodl::codegen::Ion::current_derivative_pointer_name |
( |
| ) |
const |
|
inline |
◆ extra_conc_name()
std::string nmodl::codegen::Ion::extra_conc_name |
( |
| ) |
const |
|
inline |
◆ extra_conc_pointer_name()
std::string nmodl::codegen::Ion::extra_conc_pointer_name |
( |
| ) |
const |
|
inline |
◆ get_possible_variables()
static std::vector<std::string> nmodl::codegen::Ion::get_possible_variables |
( |
const std::string & |
ion_name | ) |
|
|
inlinestatic |
for a given ion, return different variable names/properties like internal/external concentration, reversal potential, ionic current etc.
Definition at line 225 of file codegen_info.hpp.
◆ intra_conc_name()
std::string nmodl::codegen::Ion::intra_conc_name |
( |
| ) |
const |
|
inline |
◆ intra_conc_pointer_name()
std::string nmodl::codegen::Ion::intra_conc_pointer_name |
( |
| ) |
const |
|
inline |
◆ ionic_current_name()
std::string nmodl::codegen::Ion::ionic_current_name |
( |
| ) |
const |
|
inline |
◆ ionic_current_pointer_name()
std::string nmodl::codegen::Ion::ionic_current_pointer_name |
( |
| ) |
const |
|
inline |
◆ is_conc_read()
bool nmodl::codegen::Ion::is_conc_read |
( |
| ) |
const |
|
inline |
◆ is_conc_written()
bool nmodl::codegen::Ion::is_conc_written |
( |
| ) |
const |
|
inline |
◆ is_current_derivative()
bool nmodl::codegen::Ion::is_current_derivative |
( |
const std::string & |
text | ) |
const |
|
inline |
◆ is_exterior_conc_read()
bool nmodl::codegen::Ion::is_exterior_conc_read |
( |
| ) |
const |
|
inline |
◆ is_exterior_conc_written()
bool nmodl::codegen::Ion::is_exterior_conc_written |
( |
| ) |
const |
|
inline |
◆ is_extra_cell_conc()
bool nmodl::codegen::Ion::is_extra_cell_conc |
( |
const std::string & |
text | ) |
const |
|
inline |
Check if variable name is external cell concentration.
This is equivalent of IONOUT flag in mod2c.
Definition at line 144 of file codegen_info.hpp.
◆ is_interior_conc_read()
bool nmodl::codegen::Ion::is_interior_conc_read |
( |
| ) |
const |
|
inline |
◆ is_interior_conc_written()
bool nmodl::codegen::Ion::is_interior_conc_written |
( |
| ) |
const |
|
inline |
◆ is_intra_cell_conc()
bool nmodl::codegen::Ion::is_intra_cell_conc |
( |
const std::string & |
text | ) |
const |
|
inline |
Check if variable name is internal cell concentration.
This is equivalent of IONIN flag in mod2c.
Definition at line 135 of file codegen_info.hpp.
◆ is_ionic_conc()
bool nmodl::codegen::Ion::is_ionic_conc |
( |
const std::string & |
text | ) |
const |
|
inline |
check if it is either internal or external concentration
Definition at line 159 of file codegen_info.hpp.
◆ is_ionic_current()
bool nmodl::codegen::Ion::is_ionic_current |
( |
const std::string & |
text | ) |
const |
|
inline |
Check if variable name is a ionic current.
This is equivalent of IONCUR flag in mod2c. If it is read variable then also get NRNCURIN flag. If it is write variables then also get NRNCUROUT flag.
Definition at line 126 of file codegen_info.hpp.
◆ is_ionic_variable()
bool nmodl::codegen::Ion::is_ionic_variable |
( |
const std::string & |
text | ) |
const |
|
inline |
Is the variable name text
related to this ion?
Example: For sodium this is true for any of "ena"
, "ina"
, "nai"
and "nao"
; but not ion_ina
, etc.
Definition at line 167 of file codegen_info.hpp.
◆ is_read()
bool nmodl::codegen::Ion::is_read |
( |
const std::string & |
name | ) |
const |
|
inline |
◆ is_rev_potential()
bool nmodl::codegen::Ion::is_rev_potential |
( |
const std::string & |
text | ) |
const |
|
inline |
Check if variable name is reveral potential.
Matches ena
and na_erev
.
Definition at line 153 of file codegen_info.hpp.
◆ is_rev_read()
bool nmodl::codegen::Ion::is_rev_read |
( |
| ) |
const |
|
inline |
◆ is_rev_written()
bool nmodl::codegen::Ion::is_rev_written |
( |
| ) |
const |
|
inline |
◆ is_style()
bool nmodl::codegen::Ion::is_style |
( |
const std::string & |
text | ) |
const |
|
inline |
Is the variable name text
the style of this ion?
Example: For sodium this is true for "style_na"
.
Definition at line 174 of file codegen_info.hpp.
◆ is_written()
bool nmodl::codegen::Ion::is_written |
( |
const std::string & |
name | ) |
const |
|
inline |
◆ rev_potential_name()
std::string nmodl::codegen::Ion::rev_potential_name |
( |
| ) |
const |
|
inline |
◆ rev_potential_pointer_name()
std::string nmodl::codegen::Ion::rev_potential_pointer_name |
( |
| ) |
const |
|
inline |
◆ variable_index()
int nmodl::codegen::Ion::variable_index |
( |
const std::string & |
var_name | ) |
const |
|
inline |
Variable index in the ion mechanism.
For sodium (na), the var_name
must be one of ina
, ena
, nai
, nao
or dinadv
. Replace na
with the analogous for other ions.
In NRN the order is: 0: ena 1: nai 2: nao 3: ina 4: dinadv
Definition at line 244 of file codegen_info.hpp.
◆ implicit_reads
std::vector<std::string> nmodl::codegen::Ion::implicit_reads |
ion variables that are being implicitly read
Definition at line 61 of file codegen_info.hpp.
◆ name
std::string nmodl::codegen::Ion::name |
◆ need_style
bool nmodl::codegen::Ion::need_style = false |
◆ reads
std::vector<std::string> nmodl::codegen::Ion::reads |
◆ valence
std::optional<double> nmodl::codegen::Ion::valence |
◆ writes
std::vector<std::string> nmodl::codegen::Ion::writes |
The documentation for this class was generated from the following file: