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.