Abstract base class for utilities that are able to perform the buffer updating procedure needed by the WorldtubeDataManager or by the PreprocessCceWorldtube executable.
More...
template<typename BufferTags>
class Cce::WorldtubeBufferUpdater< BufferTags >
Abstract base class for utilities that are able to perform the buffer updating procedure needed by the WorldtubeDataManager or by the PreprocessCceWorldtube executable.
Details
The methods that are required to be overridden in the derived classes are:
WorldtubeBufferUpdater::update_buffers_for_time(): updates the buffers passed by pointer and the time_span_start and time_span_end to be appropriate for the requested time, interpolator_length, and buffer_depth.
WorldtubeBufferUpdater::get_clone() clone function to obtain a std::unique_ptr of the base WorldtubeBufferUpdater, needed to pass around the factory-created object.
WorldtubeBufferUpdater::time_is_outside_range() the override should return true if the time could be used in a update_buffers_for_time call given the data available to the derived class, and false otherwise
WorldtubeBufferUpdater::get_l_max() The override should return the l_max it uses in the Goldberg modal data placed in the buffers.
WorldtubeBufferUpdater::get_extraction_radius() The override should return the coordinate radius associated with the modal worldtube data that it supplies in the buffer update function. This is currently assumed to be a single double, but may be generalized in future to be time-dependent.
WorldtubeBufferUpdater::get_time_buffer The override should return the vector of times that it can produce data at. For instance, if associated with a file input, this will be the times at each of the rows of the time-series data.