Abstract base class for utilities that are able to perform the buffer updating procedure needed by the WorldtubeDataManager
.
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
.
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 modal 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.