40class EventDelayed :
public IProcessor {
44 void CreatePorts()
override;
46 void CompleteStreamInfo()
override;
57 bool to_lock_out_in_future(TimePoint start_event);
72 FollowerState<bool>* disabled_;
73 FollowerState<bool>* delayed_event_;
74 StaticState<double>* stop_detection_period_;
75 StaticState<double>* stop_analysis_period_;
76 BroadcasterState<bool>* analysis_unlocked_;
80 options::Bool default_disabled_{
false};
81 options::Measurement<double, false> initial_stop_detection_period_{
82 50,
"ms", options::positive<double>(
false)};
83 options::Value<std::vector<int>,
true> when_stop_analysis_period_{{0, 0}};
84 options::Measurement<double, false> initial_stop_analysis_period_{
85 50.,
"ms", options::positive<double>(
false)};
86 options::Bool start_after_detection_{
false};
87 options::Bool start_after_stimulation_{
true};
88 options::Bool initial_delayed_event_{
false};
89 options::Bool save_events_{
true};
90 options::String prefix_{
"stim_"};
91 options::String msg_delayed_{
"d"};
92 options::String msg_detection_{
"r"};
93 options::String msg_ontime_{
"o"};
94 options::Value<std::vector<long int>,
true> initial_delayed_range_{{150, 200}};
97 void send_event(EventType::Data* data_in, std::string
type);
100 uint64_t ontime_received_event_;
101 uint64_t delayed_received_event_;
102 uint64_t event_lockout_;
104 Range<long int> delayed_range_;
105 TimePoint previous_TS_nostim_;
107 std::priority_queue<Delayed, std::vector<Delayed>, std::greater<Delayed>> delayed_event_queue_;
109 std::priority_queue<Delayed, std::vector<Delayed>, std::greater<Delayed>> lockout_queue_;
113 const std::string DISABLED_S =
"detection_only_mode";
114 const std::string DELAYED_S =
"delayed_mode";
115 const std::string STOP_DETECTION_TIME_S =
"event_trigger_lockout_time";
116 const std::string STOP_ANALYSIS_TIME_S =
"analysis_lockout_time";
Definition context.hpp:54
Definition runinfo.hpp:248