13 typedef void* (*CNB)(...);
42 std::vector<int>& output_gid,
44 std::vector<int>& netcon_negsrcgid_tid);
70 std::vector<uint32_t>& nmodlrandom,
71 std::vector<int>& pointer2type);
75 double*& output_threshold,
77 int*& netcon_pntindex,
103 std::string& sclname,
106 size_t& total_lfp_factors,
108 std::vector<int>& data_sec,
109 std::vector<int>& data_seg,
110 std::vector<double>& data_lfp);
118 std::vector<int>& pointer2type);
136 std::vector<int>& spikegidvec);
142 const std::vector<int>& indices,
143 const std::vector<double>& nmodlrandom);
174 std::vector<int>
type;
175 std::vector<double>
td;
195 void core2nrn_vecplay(
int tid,
int i_nrn,
int last_index,
int discon_index,
int ubound_index);
209 int& numprocs_world);
handle_interface< non_owning_identifier< storage > > handle
Non-owning handle to a Mechanism instance.
static core2nrn_callback_t cnbs[]
void nrn2core_transfer_WATCH(void(*cb)(int, int, int, int, int))
int nrnthread_dat1(int tid, int &n_presyn, int &n_netcon, std::vector< int > &output_gid, int *&netcon_srcgid, std::vector< int > &netcon_negsrcgid_tid)
size_t nrnthreads_type_return(int type, int tid, double *&data, std::vector< double * > &mdata)
Return location for CoreNEURON to copy data into.
NrnCoreTransferEvents * nrn2core_transfer_tqueue(int tid)
void nrnthread_dat3_cell_count(int &cell_count)
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_dat2_1(int tid, int &n_real_cell, 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 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.
void nrnthread_dat3_cellmapping(int i, int &gid, int &nsec, int &nseg, int &n_seclist)
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 * 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)
void nrnthread_dat3_secmapping(int i_c, int i_sec, std::string &sclname, int &nsec, int &nseg, size_t &total_lfp_factors, int &n_electrodes, std::vector< int > &data_sec, std::vector< int > &data_seg, std::vector< double > &data_lfp)
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
int core2nrn_nmodlrandom(int tid, int type, const std::vector< int > &indices, const std::vector< double > &nmodlrandom)
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)
void nrnthread_group_ids(int *groupids)
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)
void nrn2core_subworld_info(int &cnt, int &subworld_index, int &subworld_rank, int &subworld_size, int &numprocs_world)
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...
int nrnthread_dat2_mech(int tid, size_t i, int dsz_inst, int *&nodeindices, double *&data, int *&pdata, std::vector< uint32_t > &nmodlrandom, std::vector< int > &pointer2type)
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)
A view into a set of mechanism instances.
std::vector< double > dbldata
std::vector< int > intdata
Represent main neuron object computed by single thread.