|
| | SignalDecorator (std::unique_ptr< AbstractIntegrator< S > > integrator, SignalConfig config={}) |
| | Construct signal decorator.
|
| |
| void | step (typename IntegratorDecorator< S >::state_type &state, typename IntegratorDecorator< S >::time_type dt) override |
| | Override step to add signal processing.
|
| |
| void | integrate (typename IntegratorDecorator< S >::state_type &state, typename IntegratorDecorator< S >::time_type dt, typename IntegratorDecorator< S >::time_type end_time) override |
| | Override integrate to handle signal processing during integration.
|
| |
| void | register_signal_handler (std::function< void(S &, typename IntegratorDecorator< S >::time_type)> handler, const std::string &signal_id="", SignalPriority priority=SignalPriority::NORMAL) |
| | Register a signal handler function.
|
| |
| void | register_signal_handlers (const std::vector< std::function< void(S &, typename IntegratorDecorator< S >::time_type)> > &handlers) |
| | Register multiple signal handlers at once.
|
| |
| void | clear_signal_handlers () |
| | Clear all signal handlers.
|
| |
| size_t | get_signal_handler_count () const |
| | Get number of registered signal handlers.
|
| |
| void | process_signals_now (S &state, typename IntegratorDecorator< S >::time_type time) |
| | Force immediate signal processing.
|
| |
| const SignalStats & | get_statistics () const |
| | Get signal processing statistics.
|
| |
| void | reset_statistics () |
| | Reset signal processing statistics.
|
| |
| bool | is_processing_active () const |
| | Check if signal processing is currently active.
|
| |
| SignalConfig & | config () |
| | Access and modify signal configuration.
|
| |
| const SignalConfig & | config () const |
| |
| void | update_config (SignalConfig new_config) |
| | Update signal configuration with validation.
|
| |
| | IntegratorDecorator (std::unique_ptr< base_type > integrator) |
| | Construct decorator wrapping another integrator.
|
| |
|
virtual | ~IntegratorDecorator ()=default |
| | Virtual destructor for proper cleanup.
|
| |
| void | step (state_type &state, time_type dt) override |
| |
| void | integrate (state_type &state, time_type dt, time_type end_time) override |
| |
| time_type | current_time () const override |
| |
| void | set_time (time_type t) override |
| |
| void | set_system (system_function sys) override |
| |
| base_type & | wrapped () |
| | Access to wrapped integrator for advanced use.
|
| |
| const base_type & | wrapped () const |
| |
| bool | has_wrapped_integrator () const |
| | Check if wrapped integrator exists.
|
| |
| | AbstractIntegrator (system_function sys) |
| |
| time_type | current_time () const |
| |
| void | set_time (time_type t) |
| |
| void | set_system (system_function sys) |
| |
template<
system_state S>
class diffeq::core::composable::SignalDecorator< S >
Signal decorator - adds signal processing to any integrator.
This decorator provides comprehensive signal processing with the following features:
- Multiple processing modes (sync, async, batch)
- Signal priority handling
- Real-time signal buffering and processing
- Detailed statistics and performance monitoring
Key Design Principles:
- Single Responsibility: ONLY handles signal processing
- No Dependencies: Works with any integrator type
- Real-time: Minimal latency signal handling
- Thread-safe: Safe concurrent signal registration and processing
Definition at line 128 of file signal_decorator.hpp.