NEURON
report_handler.hpp
Go to the documentation of this file.
1 /*
2 # =============================================================================
3 # Copyright (c) 2016 - 2021 Blue Brain Project/EPFL
4 #
5 # See top-level LICENSE file for details.
6 # =============================================================================
7 */
8 
9 #pragma once
10 
11 #include <memory>
12 #include <vector>
13 
14 #include "nrnreport.hpp"
17 
18 namespace coreneuron {
19 
21  public:
22  virtual ~ReportHandler() = default;
23 
24  virtual void create_report(ReportConfiguration& config, double dt, double tstop, double delay);
25 #ifdef ENABLE_SONATA_REPORTS
26  virtual void register_section_report(const NrnThread& nt,
27  const ReportConfiguration& config,
28  const VarsToReport& vars_to_report,
29  bool is_soma_target);
30  virtual void register_custom_report(const NrnThread& nt,
31  const ReportConfiguration& config,
32  const VarsToReport& vars_to_report);
33  VarsToReport get_section_vars_to_report(const NrnThread& nt,
34  const std::vector<int>& gids_to_report,
35  double* report_variable,
36  SectionType section_type,
37  bool all_compartments) const;
38  VarsToReport get_summation_vars_to_report(const NrnThread& nt,
39  const std::vector<int>& gids_to_report,
40  const ReportConfiguration& report,
41  const std::vector<int>& nodes_to_gids) const;
42  VarsToReport get_synapse_vars_to_report(const NrnThread& nt,
43  const std::vector<int>& gids_to_report,
44  const ReportConfiguration& report,
45  const std::vector<int>& nodes_to_gids) const;
46  VarsToReport get_lfp_vars_to_report(const NrnThread& nt,
47  const std::vector<int>& gids_to_report,
48  ReportConfiguration& report,
49  double* report_variable,
50  const std::vector<int>& nodes_to_gids) const;
51  std::vector<int> map_gids(const NrnThread& nt) const;
52 #endif
53  protected:
54 #ifdef ENABLE_SONATA_REPORTS
55  std::vector<std::unique_ptr<ReportEvent>> m_report_events;
56 #endif
57 };
58 
59 } // Namespace coreneuron
virtual ~ReportHandler()=default
virtual void create_report(ReportConfiguration &config, double dt, double tstop, double delay)
THIS FILE IS AUTO GENERATED DONT MODIFY IT.