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

SpCandidate list. More...

#include <cheetah/data/SpCcl.h>

Inheritance diagram for ska::cheetah::data::SpCcl< NumericalRep >:
Inheritance graph
Collaboration diagram for ska::cheetah::data::SpCcl< NumericalRep >:
Collaboration graph

Classes

class  ConstDataIterator
 

Public Types

typedef SpCandidate< Cpu, float > SpCandidateType
 
typedef SpCandidateType::Dm Dm
 
typedef TimeFrequency< Cpu, NumericalRep > TimeFrequencyType
 
typedef TimeFrequencyType::FrequencyType FrequencyType
 
typedef std::vector< std::shared_ptr< const TimeFrequencyType > > BlocksType
 
typedef BaseT::Iterator CandidateIterator
 
typedef BaseT::ConstIterator ConstCandidateIterator
 
- Public Types inherited from ska::cheetah::data::VectorLike< std::vector< SpCandidate< Cpu, float > > >
typedef std::vector< SpCandidate< Cpu, float > > ::iterator Iterator
 
typedef std::vector< SpCandidate< Cpu, float > > ::const_iterator ConstIterator
 
typedef std::vector< SpCandidate< Cpu, float > > ::reverse_iterator ReverseIterator
 
typedef std::vector< SpCandidate< Cpu, float > > ::pointer Pointer
 
typedef std::vector< SpCandidate< Cpu, float > > ::const_pointer ConstPointer
 
typedef std::vector< SpCandidate< Cpu, float > > ::reference Reference
 
typedef std::vector< SpCandidate< Cpu, float > > ::const_reference ConstReference
 
typedef std::vector< SpCandidate< Cpu, float > > ::value_type ValueType
 
typedef std::vector< SpCandidate< Cpu, float > > ::allocator_type AllocatorType
 

Public Member Functions

 SpCcl (BlocksType const &, data::DimensionIndex< data::Time > start_offset=data::DimensionIndex< data::Time >(0))
 
BlocksType const & tf_blocks () const
 Access the TimeFrequency blocks associated with the single pulse candidtes. More...
 
void push_back (SpCandidateType const &cand)
 Push back method for inserting Single pulse Candidates but without calculating tend They will be inserted in a sorted order with respect to the start time of each candidate instead of insert to the end.
 
void push_back_calculate_duration (SpCandidateType const &cand)
 Push back method for inserting Single pulse Candidates calculating temd based on dispersion and freq range They will be inserted in a sorted order with respect to the start time of each candidate instead of insert to the end.
 
void emplace (SpCandidateType &&cand)
 Emplace back method for inserting Single pulse Candidates, ensuring ordering by start_time. They will be inserted in a sorted order with respect to the start time of each candidate instead of insert to the end.
 
void emplace_calculate_duration (SpCandidateType &&cand)
 
void emplace (typename SpCandidateType::Dm, boost::units::quantity< MilliSeconds, double > start_time, boost::units::quantity< MilliSeconds, double > pulse_width, float sigma, std::size_t ident=0)
 Add a Single pulse Candidate to the end of the cand list, detrminig its correct position.
 
void emplace_back (SpCandidateType &&cand)
 Add a Single pulse Candidate to the end of the cand list, without calculating the duration Checking of ordering is made, and if found to be out of order will call emplace.
 
void emplace_back (typename SpCandidateType::Dm, boost::units::quantity< MilliSeconds, double > start_time, boost::units::quantity< MilliSeconds, double > pulse_width, float sigma, std::size_t ident=0)
 Add a Single pulse Candidate to the end of the cand list WARNING: No checking of ordering is made. If you use this routine you should be certain to add only pre-ordered Canadidates (ordered by start time).
 
ConstDataIterator data_begin (CandidateWindow const &window) const
 Extract data corresponding to the candidates start and end times. More...
 
ConstDataIterator data_end () const
 
utils::ModifiedJulianClock::time_point const & start_time () const
 the start time of the first relevant data (taking into account the offset)
 
boost::units::quantity< data::MilliSeconds, double > offset_time () const
 the time duration from the beginning of the first block to start_time()
 
std::pair< Dm, Dm > const & dm_range () const
 the max and minimum Dispersion Measure values of the candidates
 
utils::ModifiedJulianClock::time_point start_time (SpCandidateType const &) const
 
template<typename PredicateT >
void remove_if (PredicateT const &)
 remove candidates that meet the specified condition
 
- Public Member Functions inherited from ska::cheetah::data::VectorLike< std::vector< SpCandidate< Cpu, float > > >
 VectorLike ()
 Construct a VectorLike instance.
 
 VectorLike (AllocatorType const &allocator)
 Construct a VectorLike instance with an explicit allocator.
 
 VectorLike (std::size_t n, Args &&... args)
 Construct a VectorLike instance of a given size. More...
 
 VectorLike (std::size_t n, const ValueType &value, AllocatorType const &allocator=AllocatorType())
 Construct a filled VectorLike instance of a given size. More...
 
std::size_t size () const
 Retrieve the size of the underlying vector.
 
ValueType const & front () const
 the first emelment
 
ValueType & front ()
 
ValueType const & back () const
 the last emelment
 
ValueType & back ()
 
void resize (std::size_t size, const ValueType &x=ValueType())
 Resize the vector. More...
 
Reference operator[] (std::size_t n)
 Subscript access to the data contained in the underlying vector. More...
 
ConstReference operator[] (std::size_t n) const
 Subscript Read-only access to the data contained in the underlying vector. More...
 
Iterator begin ()
 An iterator pointing to the start of the vector. More...
 
ConstIterator begin () const
 A constant iterator pointing to the start of the vector. More...
 
ConstIterator cbegin () const
 
ReverseIterator rbegin ()
 A reverse iterator pointing to the end of the vector (i.e the last element).
 
Iterator end ()
 An iterator pointing to the end of the vector. More...
 
ConstIterator end () const
 A constant iterator pointing to the end of the vector. More...
 
ConstIterator cend () const
 A constant iterator pointing to the end of the vector. More...
 
ReverseIterator rend ()
 
Pointer data ()
 Return a pointer pointing to the start of the vector. More...
 
ConstPointer data () const
 Return a constant pointer pointing to the start of the vector. More...
 
void push_back (ValueType const &value)
 Appends element to end of vector. More...
 
void emplace_back (Args &&... value)
 Appends element to end of vector using the move operator. More...
 
void reserve (std::size_t size)
 Reserve space for this many elements. More...
 
std::size_t capacity () const
 The reseved size of the vector. More...
 
void swap (VectorLike &v)
 swaps the contents of this vector_base with another vector More...
 
Iterator erase (Iterator pos)
 erase the element from a given position or a range of positions
 
Iterator erase (Iterator first, Iterator last)
 
Iterator insert (Iterator pos, const ValueType &value)
 insert a value in the vector_base
 
ConstIterator insert (ConstIterator pos, ValueType &&value)
 
ConstIterator insert (ConstIterator pos, const ValueType &value)
 
Iterator insert (Iterator pos, ValueType &&value)
 
Iterator emplace (Iterator pos, Args &&...)
 
ConstIterator emplace (ConstIterator pos, Args &&...)
 
VectorLike< std::vector< SpCandidate< Cpu, float > > >::Iterator emplace (Iterator pos, Args &&... values)
 
VectorLike< std::vector< SpCandidate< Cpu, float > > >::ConstIterator emplace (ConstIterator pos, Args &&... values)
 
SelfTypeoperator+= (SelfType const &)
 add the contents of the argument to the current vector
 
bool empty () const
 return true if the vector is empty
 
void clear ()
 clear the data
 
AllocatorType allocator () const
 return the allocator
 

Protected Member Functions

void dm_max_min (Dm)
 

Detailed Description

template<typename NumericalRep>
class ska::cheetah::data::SpCcl< NumericalRep >

SpCandidate list.

Class that encapsulates the snippets of data corresponding to each single pulse candidate. One can also go through each candidate and the correponding TF slice using VectorLike functionalities.

Definition at line 52 of file SpCcl.h.

Member Function Documentation

◆ data_begin()

template<typename NumericalRep >
SpCcl< NumericalRep >::ConstDataIterator ska::cheetah::data::SpCcl< NumericalRep >::data_begin ( CandidateWindow const &  window) const

Extract data corresponding to the candidates start and end times.

Parameters
CandidateWindowis the lead and post times before and after the start and end times of each condidate to include.

Definition at line 197 of file SpCcl.cpp.

198 {
199  if (BaseT::begin() == BaseT::end())
200  {
201  return ConstDataIterator(CandidateWindow(), BaseT::begin(), BaseT::end(), _blocks, _start_time);
202  }
203  else
204  {
205  return ConstDataIterator(window, BaseT::begin(), BaseT::end(), _blocks, _start_time);
206  }
207 }
Iterator end()
An iterator pointing to the end of the vector.
Definition: VectorLike.cpp:109
Iterator begin()
An iterator pointing to the start of the vector.
Definition: VectorLike.cpp:85

◆ tf_blocks()

template<typename NumericalRep >
SpCcl< NumericalRep >::BlocksType const & ska::cheetah::data::SpCcl< NumericalRep >::tf_blocks ( ) const

Access the TimeFrequency blocks associated with the single pulse candidtes.

Returns
A vector of shared_ptrs to TimeFrequency blocks

Definition at line 64 of file SpCcl.cpp.

65 {
66  return _blocks;
67 }

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