1 #ifndef NRN_NRNCORE_CALLBACKS_H
2 #define NRN_NRNCORE_CALLBACKS_H
12 typedef void* (*CNB)(...);
43 std::vector<int>& netcon_negsrcgid_tid);
68 std::vector<int>& pointer2type);
72 double*& output_threshold,
74 int*& netcon_pntindex,
103 std::vector<int>& pointer2type);
121 std::vector<int>& spikegidvec);
156 std::vector<double>
td;
175 void core2nrn_vecplay(
int tid,
int i_nrn,
int last_index,
int discon_index,
int ubound_index);
static core2nrn_callback_t cnbs[]
void nrn2core_transfer_WATCH(void(*cb)(int, int, int, int, int))
NrnCoreTransferEvents * nrn2core_transfer_tqueue(int tid)
int core2nrn_corepointer_mech(int tid, int type, int icnt, int dcnt, int *iarray, double *darray)
void nrnthread_trajectory_values(int tid, int n_pr, void **vpr, double t)
int nrnthread_all_spike_vectors_return(std::vector< double > &spiketvec, std::vector< int > &spikegidvec)
NEURON callback used from CORENEURON to transfer all spike vectors after simulation.
void core2nrn_NetCon_event(int tid, double td, size_t nc_index)
Called from CoreNEURON core2nrn_tqueue_item.
int nrnthread_dat2_3(int tid, int nweight, int *&output_vindex, double *&output_threshold, int *&netcon_pnttype, int *&netcon_pntindex, double *&weights, double *&delays)
int nrnthread_dat2_vecplay(int tid, std::vector< int > &n)
void map_coreneuron_callbacks(void *handle)
Populate function pointers by mapping function pointers for callback.
std::vector< Core2NrnWatchInfoItem > Core2NrnWatchInfo
void * get_global_dbl_item(void *p, const char *&name, int &size, double *&val)
void nrn2core_PreSyn_flag(int tid, std::set< int > &presyns_flag_true)
int nrnthread_dat2_1(int tid, int &ngid, int &n_real_gid, int &nnode, int &ndiam, int &nmech, int *&tml_index, int *&ml_nodecount, int &nidata, int &nvdata, int &nweight)
int * datum2int(int type, Memb_list *ml, NrnThread &nt, CellGroup &cg, DatumIndices &di, int ml_vdata_offset, std::vector< int > &pointer2type)
void core2nrn_SelfEvent_event(int tid, double td, int tar_type, int tar_index, double flag, size_t nc_index, int is_movable)
struct core2nrn_callback_t core2nrn_callback_t
void core2nrn_SelfEvent_event_noweight(int tid, double td, int tar_type, int tar_index, double flag, int is_movable)
void nrnthread_get_trajectory_requests(int tid, int &bsize, int &ntrajec, void **&vpr, int *&types, int *&indices, double **&pvars, double **&varrays)
int nrnthread_dat2_vecplay_inst(int tid, int i, int &vptype, int &mtype, int &ix, int &sz, double *&yvec, double *&tvec, int &last_index, int &discon_index, int &ubound_index)
void core2nrn_vecplay_events()
start the vecplay events
void core2nrn_PreSyn_flag(int tid, std::set< int > presyns_flag_true)
void nrnthread_trajectory_return(int tid, int n_pr, int bsize, int vecsz, void **vpr, double t)
void write_memb_mech_types_direct(std::ostream &s)
int nrnthread_dat2_mech(int tid, size_t i, int dsz_inst, int *&nodeindices, double *&data, int *&pdata, std::vector< int > &pointer2type)
void nrnthread_group_ids(int *groupids)
int nrnthread_dat1(int tid, int &n_presyn, int &n_netcon, int *&output_gid, int *&netcon_srcgid, std::vector< int > &netcon_negsrcgid_tid)
void nrnthreads_all_weights_return(std::vector< double * > &weights)
Copy weights from all coreneuron::NrnThread to NetCon instances.
std::vector< std::pair< int, bool > > Core2NrnWatchInfoItem
int get_global_int_item(const char *name)
int nrnthread_dat2_corepointer(int tid, int &n)
int nrnthread_dat2_2(int tid, int *&v_parent_index, double *&a, double *&b, double *&area, double *&v, double *&diamvec)
void core2nrn_watch_activate(int tid, int type, int wbegin, Core2NrnWatchInfo &)
void core2nrn_clear_queues(double t)
Initialize queues before transfer Probably aleady clear, but if binq then must be initialized to time...
size_t nrnthreads_type_return(int type, int tid, double *&data, double **&mdata)
Return location for CoreNEURON to copy data into.
void nrn2core_patternstim(void **info)
void core2nrn_vecplay(int tid, int i_nrn, int last_index, int discon_index, int ubound_index)
getting one item at a time from CoreNEURON
void nrn_watch_clear()
Watch info corenrn->nrn transfer requires all activated WatchCondition be deactivated prior to mirror...
int nrnthread_dat2_corepointer_mech(int tid, int type, int &icnt, int &dcnt, int *&iarray, double *&darray)
int const size_t const size_t n
SetupTransferInfo * nrn_get_partrans_setup_info(int ngroup, int cn_nthread, size_t cn_sidt_sz)
std::vector< double > dbldata
std::vector< int > intdata
Represent main neuron object computed by single thread.