NEURON
section.h File Reference
#include "hoclist.h"
#include "cabcode.h"
#include "membfunc.h"
#include "neuron/container/mechanism_data.hpp"
#include "neuron/container/node_data.hpp"
#include "neuron/model_data.hpp"
#include "nrnredef.h"
#include "options.h"
#include "section_fwd.hpp"
#include "hocdec.h"
#include <optional>
#include <multicore.h>
#include "nrn_ansi.h"

Go to the source code of this file.

Classes

struct  Pt3d
 
struct  Section
 
struct  Info3Coef
 
struct  Info3Val
 
struct  Node
 
struct  Prop
 

Macros

#define xpop   hoc_xpop
 
#define pc   hoc_pc
 
#define spop   hoc_spop
 
#define execerror   hoc_execerror
 
#define NODEAREA(n)   ((n)->area())
 
#define NODERINV(n)   ((n)->_rinv)
 
#define PROP_PY_INDEX   10
 
#define tstopbit   (1 << 15)
 
#define tstopset   stoprun |= tstopbit
 
#define tstopunset   stoprun &= (~tstopbit)
 

Typedefs

typedef float NodeCoef
 
typedef double NodeVal
 
typedef struct Info3Coef Info3Coef
 
typedef struct Info3Val Info3Val
 

Functions

void nrn_prop_datum_free (int type, Datum *ppd)
 
void nrn_delete_mechanism_prop_datum (int type)
 
int nrn_mechanism_prop_datum_count (int type)
 
Sectionsec_alloc ()
 Allocate a new Section object. More...
 
void node_alloc (Section *, short)
 
Nodenrn_parent_node (Node *)
 
Sectionnrn_section_alloc ()
 
void nrn_section_free (Section *)
 
int nrn_is_valid_section_ptr (void *)
 

Variables

int nrn_global_ncell
 
hoc_Listsection_list
 

Macro Definition Documentation

◆ execerror

#define execerror   hoc_execerror

Definition at line 39 of file section.h.

◆ NODEAREA

#define NODEAREA (   n)    ((n)->area())

Definition at line 101 of file section.h.

◆ NODERINV

#define NODERINV (   n)    ((n)->_rinv)

Definition at line 102 of file section.h.

◆ pc

#define pc   hoc_pc

Definition at line 37 of file section.h.

◆ PROP_PY_INDEX

#define PROP_PY_INDEX   10

Definition at line 230 of file section.h.

◆ spop

#define spop   hoc_spop

Definition at line 38 of file section.h.

◆ tstopbit

#define tstopbit   (1 << 15)

Definition at line 461 of file section.h.

◆ tstopset

#define tstopset   stoprun |= tstopbit

Definition at line 462 of file section.h.

◆ tstopunset

#define tstopunset   stoprun &= (~tstopbit)

Definition at line 463 of file section.h.

◆ xpop

#define xpop   hoc_xpop

Definition at line 36 of file section.h.

Typedef Documentation

◆ Info3Coef

typedef struct Info3Coef Info3Coef

◆ Info3Val

typedef struct Info3Val Info3Val

◆ NodeCoef

typedef float NodeCoef

Definition at line 74 of file section.h.

◆ NodeVal

typedef double NodeVal

Definition at line 75 of file section.h.

Function Documentation

◆ node_alloc()

void node_alloc ( Section sec,
short  nseg 
)

Definition at line 705 of file solve.cpp.

◆ nrn_delete_mechanism_prop_datum()

void nrn_delete_mechanism_prop_datum ( int  type)

Definition at line 70 of file cxprop.cpp.

◆ nrn_is_valid_section_ptr()

int nrn_is_valid_section_ptr ( void *  v)

Definition at line 101 of file cxprop.cpp.

◆ nrn_mechanism_prop_datum_count()

int nrn_mechanism_prop_datum_count ( int  type)

Definition at line 47 of file cxprop.cpp.

◆ nrn_parent_node()

Node* nrn_parent_node ( Node nd)

Definition at line 809 of file treeset.cpp.

◆ nrn_prop_datum_free()

void nrn_prop_datum_free ( int  type,
Datum ppd 
)

Definition at line 54 of file cxprop.cpp.

◆ nrn_section_alloc()

Section* nrn_section_alloc ( )

Definition at line 85 of file cxprop.cpp.

◆ nrn_section_free()

void nrn_section_free ( Section s)

Definition at line 95 of file cxprop.cpp.

◆ sec_alloc()

Section* sec_alloc ( )

Allocate a new Section object.

Changed from emalloc to allocation from a SectionPool in order to allow safe checking of whether a void* is a possible Section* without the possibility of invalid memory read errors. Note that freeing sections must be done with nrn_section_free(Section*).

Definition at line 445 of file solve.cpp.

Variable Documentation

◆ nrn_global_ncell

int nrn_global_ncell
extern

Definition at line 114 of file init.cpp.

◆ section_list

hoc_List* section_list
extern

Definition at line 113 of file init.cpp.