Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Classes | Public Types | Public Member Functions | List of all members
ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT > Class Template Reference

Provides the TimeFrequency API over a set of TimeFrequency objects. More...

#include <cheetah/data/TimeFrequencyContainer.h>

Collaboration diagram for ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >:
Collaboration graph

Classes

struct  ConstChannelIterator
 
struct  ConstEndChannelIterator
 

Public Types

typedef TimeFrequency< Arch, NumericalT > TimeFrequencyType
 
typedef TimeFrequencyType::FrequencyType FrequencyType
 
typedef TimeFrequencyType::TimeType TimeType
 
typedef TimeFrequencyType::TimePointType TimePointType
 

Public Member Functions

void add (TimeFrequencyType &data)
 add data to the collection
 
void add (std::shared_ptr< TimeFrequencyType > const &data)
 
void clear ()
 clear all data
 
bool empty () const
 return true if there is no data
 
TimePointType const & start_time () const
 
std::size_t number_of_channels () const
 
std::size_t number_of_spectra () const
 
TimeType sample_interval () const
 
std::vector< FrequencyType > const & channel_frequencies () const
 
template<class ChannelIterationEndHandler , class TimeDiscontinuityHandler >
ConstChannelIterator< ChannelIterationEndHandler, TimeDiscontinuityHandler > begin (ChannelIterationEndHandler, TimeDiscontinuityHandler) const
 
ConstEndChannelIterator end () const
 return the end iterator
 
template<class ChannelIterationEndHandler , class TimeDiscontinuityHandler >
TimeFrequencyContainer< Arch, NumericalT >::template ConstChannelIterator< ChannelIterationEndHandler, TimeDiscontinuityHandler > begin (ChannelIterationEndHandler ch_handler, TimeDiscontinuityHandler td_handler) const
 

Detailed Description

template<class Arch, typename NumericalT>
class ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >

Provides the TimeFrequency API over a set of TimeFrequency objects.

Definition at line 42 of file TimeFrequencyContainer.h.

Member Function Documentation

◆ begin()

template<class Arch, typename NumericalT>
template<class ChannelIterationEndHandler , class TimeDiscontinuityHandler >
ConstChannelIterator<ChannelIterationEndHandler, TimeDiscontinuityHandler> ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >::begin ( ChannelIterationEndHandler  ,
TimeDiscontinuityHandler   
) const
Returns
an iterator that extends across all the channels in a single sample
Parameters
ChannelIterationEndHandlercalled at the end of each time_sample
TimeDiscontinuityHandlercalled any time the sample_interval changes or the start_time() is not contiguous from previous (will also be called on initialisation_ The function should take two arguments e.g.:
auto my_td_handler = [](TimePointType const&, TimeType const& interval)
{
// do something
}
The TimePointType passed refers to the start time of the new block. THe interval is the sample interval after the discontinuity.

◆ channel_frequencies()

template<class Arch , typename NumericalT >
std::vector< typename TimeFrequencyContainer< Arch, NumericalT >::TimeFrequencyType::FrequencyType > const & ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >::channel_frequencies ( ) const
Returns
a vector of frequencies that are represented in each time sample

Definition at line 321 of file TimeFrequencyContainer.cpp.

322 {
323  return _data[0]->channel_frequencies();
324 }
Here is the call graph for this function:

◆ number_of_channels()

template<class Arch , typename NumericalT >
std::size_t ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >::number_of_channels ( ) const
Returns
the integer number of channels in the block

Definition at line 297 of file TimeFrequencyContainer.cpp.

298 {
299  return _data[0]->number_of_channels();
300 }

◆ number_of_spectra()

template<class Arch , typename NumericalT >
std::size_t ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >::number_of_spectra ( ) const
Returns
the total number of samples across all blocks

Definition at line 303 of file TimeFrequencyContainer.cpp.

304 {
305  return _number_of_spectra;
306 }

◆ sample_interval()

template<class Arch , typename NumericalT >
TimeFrequencyContainer< Arch, NumericalT >::TimeType ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >::sample_interval ( ) const
Returns
the sample interval in seconds

Definition at line 315 of file TimeFrequencyContainer.cpp.

316 {
317  return _data[0]->sample_interval();
318 }

◆ start_time()

template<class Arch , typename NumericalT >
TimeFrequencyContainer< Arch, NumericalT >::TimePointType const & ska::cheetah::data::TimeFrequencyContainer< Arch, NumericalT >::start_time ( ) const
Returns
the absolute time the first time sample corresponds to.

Definition at line 309 of file TimeFrequencyContainer.cpp.

310 {
311  return _data[0]->start_time();
312 }

The documentation for this class was generated from the following files: