15 #include <unordered_map>
19 #define STATISTICS(arg) ++arg
21 #define STATISTICS(arg)
43 #define DiscreteEventType 0
44 #define TstopEventType 1
46 #define SelfEventType 3
48 #define HocEventType 5
49 #define PlayRecordEventType 6
51 #define NetParEventType 7
53 #if DISCRETE_EVENT_OBSERVER
110 void replace_src(
PreSyn*);
137 static void invalid();
138 static NetCon* weight2netcon(
double*);
139 static NetCon* index2netcon(
long);
176 static void savestate_free();
181 static std::unique_ptr<SelfEventPPTable>
sepp_;
191 virtual void check(
NrnThread*,
double sendtime,
double teps = 0.0);
195 void condition(
Cvode*);
196 void abandon_statistics(
Cvode*);
226 virtual void asf_err();
252 double value()
override;
265 virtual void asf_err();
281 return *thvar_ - threshold_;
286 void record_stmt(
const char*);
287 void record_stmt(
Object*);
289 void record(
double t);
311 unsigned char localgid_;
343 static void invalid();
344 static PreSyn* hindx2presyn(
long);
360 virtual void allthread_handle();
361 static void reclaim();
static unsigned long abandon_
static unsigned long deliver_qthresh_
static unsigned long send_qthresh_
static unsigned long init_above_
static unsigned long abandon_above_
static unsigned long abandon_init_above_
static unsigned long eq_abandon_
static unsigned long abandon_below_
static unsigned long abandon_init_below_
virtual DiscreteEvent * savestate_save()
virtual void pr(const char *, double t, NetCvode *)
virtual void disconnect(Observable *)
virtual void savestate_write(FILE *)
virtual void deliver(double t, NetCvode *, NrnThread *)
static unsigned long discretevent_send_
static unsigned long discretevent_deliver_
static DiscreteEvent * savestate_read(FILE *)
virtual void pgvts_deliver(double t, NetCvode *)
virtual void send(double deliverytime, NetCvode *, NrnThread *)
virtual void savestate_restore(double deliverytime, NetCvode *)
virtual int pgvts_op(int &i)
virtual void frecord_init(TQItem *)
virtual NrnThread * thread()
static unsigned long hocevent_deliver_
virtual int pgvts_op(int &i)
static HocEvent * next_del_
static HocEventPool * hepool_
static unsigned long hocevent_send_
virtual int pgvts_op(int &i)
static unsigned long netcon_send_active_
static unsigned long netcon_deliver_
static unsigned long netcon_send_inactive_
static NetConSaveWeightTable * wtable_
static NetConSaveIndexTable * idxtable_
virtual int pgvts_op(int &i)
static unsigned long presyn_send_direct_
virtual int pgvts_op(int &i)
static unsigned long presyn_deliver_ncsend_
static unsigned long presyn_deliver_direct_
static unsigned long presyn_deliver_netcon_
static unsigned long presyn_send_mindelay_
static PreSynSaveIndexTable * idxtable_
static unsigned long selfevent_deliver_
static unsigned long selfevent_send_
static unsigned long selfevent_move_
virtual int pgvts_op(int &i)
static std::unique_ptr< SelfEventPPTable > sepp_
static unsigned long watch_send_
static unsigned long watch_deliver_
virtual int pgvts_op(int &i)
void update(NrnThread *_nt)
static void check(VecTNode &)
std::unordered_map< void *, NetCon * > NetConSaveWeightTable
#define DiscreteEventType
std::unordered_map< long, Point_process * > SelfEventPPTable
PreSyn * nrn_gid2outputpresyn(int gid)
std::vector< NetCon * > NetConPList
std::unordered_map< long, PreSyn * > PreSynSaveIndexTable
std::unordered_map< long, NetCon * > NetConSaveIndexTable
Represent main neuron object computed by single thread.
A point process is computed just like regular mechanisms.
Non-template stable handle to a generic value.