12 #include <unordered_map>
21 #if defined(ENABLE_BIN_REPORTS) || defined(ENABLE_SONATA_REPORTS)
22 struct VarWithMapping {
25 VarWithMapping(
int id_,
double* v_)
31 using VarsToReport = std::unordered_map<uint64_t, std::vector<VarWithMapping>>;
33 class ReportEvent:
public DiscreteEvent {
35 ReportEvent(
double dt,
37 const VarsToReport& filtered_gids,
42 void deliver(
double t, NetCvode* nc, NrnThread* nt)
override;
43 bool require_checkpoint()
override;
44 void summation_alu(NrnThread* nt);
49 std::string report_path;
52 std::vector<int> gids_to_report;
54 VarsToReport vars_to_report;
56 #endif // defined(ENABLE_BIN_REPORTS) || defined(ENABLE_SONATA_REPORTS)