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

The acceleration search pipeline. More...

#include <cheetah/pipeline/AccelerationSearch.h>

Inheritance diagram for ska::cheetah::pipeline::AccelerationSearch< NumericalT, AccelerationSearchTraitsT >:
Inheritance graph
Collaboration diagram for ska::cheetah::pipeline::AccelerationSearch< NumericalT, AccelerationSearchTraitsT >:
Collaboration graph

Public Types

typedef AccelerationSearchTraitsT Traits
 
typedef NumericalT value_type
 
template<typename T >
using has_create_fldo_handler_t = decltype(std::declval< T & >().create_fldo_handler(std::declval< DataExport< value_type > & >(), std::declval< CheetahConfig< NumericalT > const & >(), std::declval< BeamConfig< NumericalT > const & >()))
 template for testing if type T has a create_fldo_handler function More...
 
- Public Types inherited from ska::cheetah::pipeline::PipelineHandler< NumericalT >
typedef data::TimeFrequency< Cpu, NumericalT > TimeFrequencyType
 

Public Member Functions

 AccelerationSearch (CheetahConfig< NumericalT > const &config, BeamConfig< NumericalT > const &)
 
void operator() (TimeFrequencyType &) override
 called whenever data is available for processing
 
Dedispersion< NumericalT > const & dedispersion_pipeline () const
 access to the dedispersion pipeline object
 
FldoHandler::FldoHandlerType const & fldo_handler () const
 access the fldo handler object
 
AccelerationSearchAlgoType const & acceleration_search_pipeline () const
 access the acceleration_search pipeline object
 
- Public Member Functions inherited from ska::cheetah::pipeline::PipelineHandler< NumericalT >
 PipelineHandler (CheetahConfig< NumericalT > const &config, BeamConfig< NumericalT > const &beam_config)
 
DataExport< NumericalT > & out ()
 return the data output streamer More...
 
void halt ()
 halt the pipeline
 

Detailed Description

template<typename NumericalT, typename AccelerationSearchTraitsT>
class ska::cheetah::pipeline::AccelerationSearch< NumericalT, AccelerationSearchTraitsT >

The acceleration search pipeline.

TODO description/ascii art description of the pipeline

Define an AccelerationSearchTraits class to customise the AccelerationPipeline.

#Traits Requirements

The Dedispersion Pipeline

The traits class must provide the following static method in order to generate a suitable dedisperion pipeline.

static
Dedispersion<NumericalT>* create_dedispersion_pipeline( CheetahConfig<NumericalT> const& cheetah_config
, BeamConfig<NumericalT> const& beam_config
, DmHandlerT dm_handler
)

A default method using the cheetah::SinglePulse pipeline is available by inheriting from the DefaultAccelerationSearchTraits class.

The Acceleration Search Pipeline

The AccelerationSearchTraits class must provide a static method to create the acceleration search part of the pipeline (i.e post-Dedispersion). This method will return a data type based on whether you are configuring it for a time-domain (Tdas) or frequency-domain (Fdas) acceleration search. The AccelerationSearchAlgoConfig provides acces to both the Fdas and Tdas configs. The templated PostAccelerationSearchHandler is the handler for the Sift module, which is called upon completion of the acceleration search pipeline.

template<typename PostAccelerationSearchHandler>
static
MyAlgoType* create_acceleration_search_algo(AccelerationSearchAlgoConfig const& configuration, PostAccelerationSearchHandler const& handler);

#Traits optional methods:

The FLDO handler

Post folding (fldo) processing. By default fldo output is passed to the pipelines data export module under the channel name "ocld". An alternative fldo handler can be specified by adding a static

NewHandlerType* create_fldo_handler(DataExport<NumericT>&, CheetahConfig<NumericalT> const&, BeamConfig<NumericalT> const&);

to the AccelerationSearchTraits class.

Definition at line 104 of file AccelerationSearch.h.

Member Typedef Documentation

◆ has_create_fldo_handler_t

template<typename NumericalT, typename AccelerationSearchTraitsT>
template<typename T >
using ska::cheetah::pipeline::AccelerationSearch< NumericalT, AccelerationSearchTraitsT >::has_create_fldo_handler_t = decltype(std::declval<T&>().create_fldo_handler(std::declval<DataExport<value_type>&>() , std::declval<CheetahConfig<NumericalT> const&>() , std::declval<BeamConfig<NumericalT> const&>()))

template for testing if type T has a create_fldo_handler function

Use with panda::HasMethod. e.g.

static bool has_method = panda::HasMethod<T, has_create_fldo_handler_t>::value;

Definition at line 135 of file AccelerationSearch.h.


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