Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Types | Public Member Functions | List of all members
ska::cheetah::sift::Sift< Handler, ConfigT > Class Template Reference

Top level sync + async mixed interface for Sift module. More...

#include <cheetah/sift/Sift.h>

Inheritance diagram for ska::cheetah::sift::Sift< Handler, ConfigT >:
Inheritance graph
Collaboration diagram for ska::cheetah::sift::Sift< Handler, ConfigT >:
Collaboration graph

Public Types

typedef SiftTraits< ConfigT, Handler > Traits
 

Public Member Functions

 Sift (Config const &config, Handler &)
 Construct a new Sift instance. More...
 
 Sift (Sift const &)=delete
 
 Sift (Sift &&)=default
 
void operator() (std::shared_ptr< data::Ccl > const &input)
 Sift candidates in a Ccl based on their periods and DMs. Async call, the handler passed in the constructor will be called when complete The algorithm used will be one of those selected in the configuration, depending on the type of resource that is available that meet the algorithms requirements. More...
 
void operator() (data::Ccl &input)
 
- Public Member Functions inherited from ska::cheetah::sift::SiftModule< SiftTraits, SiftAlgos >
 SiftModule (Config const &, Handler &handler)
 
template<typename Arch >
std::shared_ptr< data::Scloperator() (panda::PoolResource< Arch > &resource, data::Ccl &input)
 syncronous call
 
std::shared_ptr< panda::ResourceJob > operator() (std::shared_ptr< data::Ccl > const &) const
 asyncronous call
 
template<typename OtherDataType , typename std::enable_if< std::is_convertible< OtherDataType, data::Ccl >::value, bool >::type = true>
std::shared_ptr< panda::ResourceJob > operator() (std::shared_ptr< OtherDataType > const &)
 asyncronous call for types that can be converted to data:Ccl
 
- Public Member Functions inherited from ska::cheetah::utils::AlgoModule< SiftAlgoModuleTraits< SiftTraits, SiftAlgos... > >
 AlgoModule (PoolType pool, AlgoFactory const &, Handler handler)
 
std::shared_ptr< panda::ResourceJob > operator() (DataT &&... data) const
 

Detailed Description

template<typename Handler, class ConfigT = sift::ConfigType>
class ska::cheetah::sift::Sift< Handler, ConfigT >

Top level sync + async mixed interface for Sift module.

SIFT will match together candidates that are suspected to belong to the same original signal. For instance, detections of the same periodicity at different values of dispersion measure or acceleration, or detections that are harmonics of other signals are merged. The goal is to produce the sifted candidate list (SCL) containing one candidate per incoming signal.

Template Parameters
Handlersome function of the form operator()(std::shared_ptr<data::Scl>)

Definition at line 55 of file Sift.h.

Constructor & Destructor Documentation

◆ Sift()

template<typename Handler, class ConfigType >
ska::cheetah::sift::Sift< Handler, ConfigType >::Sift ( Config const &  config,
Handler &  handler 
)

Construct a new Sift instance.

Parameters
configThe algorithm configuration

Definition at line 30 of file Sift.cpp.

31  : BaseT(config, handler)
32 {
33 }

Member Function Documentation

◆ operator()()

template<typename Handler , class ConfigType >
void ska::cheetah::sift::Sift< Handler, ConfigType >::operator() ( std::shared_ptr< data::Ccl > const &  input)

Sift candidates in a Ccl based on their periods and DMs. Async call, the handler passed in the constructor will be called when complete The algorithm used will be one of those selected in the configuration, depending on the type of resource that is available that meet the algorithms requirements.

Parameters
inputA Ccl list to be sifted

Definition at line 36 of file Sift.cpp.

37 {
38  BaseT::operator()(input);
39 }
std::shared_ptr< data::Scl > operator()(panda::PoolResource< Arch > &resource, data::Ccl &input)
syncronous call

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