Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Member Functions | List of all members
ska::cheetah::tdao::Tdao Class Reference

Time Domain Spectral Peak Detection and Candidate List Output. More...

#include <cheetah/tdao/Tdao.h>

Collaboration diagram for ska::cheetah::tdao::Tdao:
Collaboration graph

Public Member Functions

 Tdao (Config const &config)
 Construct a new Tdao object. More...
 
 Tdao (Tdao const &)=delete
 
 Tdao (Tdao &&)=default
 
template<typename Arch , typename T , typename Alloc , typename... Args>
void process (panda::PoolResource< Arch > &resource, data::PowerSeries< Arch, T, Alloc > const &input, data::Ccl &output, data::DedispersionMeasureType< float >const &dm, data::AccelerationType const &acc, std::size_t nharmonics, Args &&... args)
 Find significant peaks in a power series. More...
 

Detailed Description

Time Domain Spectral Peak Detection and Candidate List Output.

TDAO will perform a search for signals of interest in the harmonic spectra produced in HRMS and using the complex spectra from PWFT to provide further information to help distinguish between real and spurious signals. TDAO will generate a list of candidate pulsars (CCL) which will include all the metadata associated with the particular beam and also include the DM, period, acceleration, detection statistic as a function of DM and of the harmonic fold, and the statistic resulting from TDAO

Definition at line 53 of file Tdao.h.

Constructor & Destructor Documentation

◆ Tdao()

ska::cheetah::tdao::Tdao::Tdao ( Config const &  config)

Construct a new Tdao object.

Parameters
configThe algorithm configuration

Definition at line 31 of file Tdao.cpp.

32  : _config(config)
33  , _implementations(cuda::Tdao(config.cuda_config(),_config))
34 {
35 }

Member Function Documentation

◆ process()

template<typename Arch , typename T , typename Alloc , typename... Args>
void ska::cheetah::tdao::Tdao::process ( panda::PoolResource< Arch > &  resource,
data::PowerSeries< Arch, T, Alloc > const &  input,
data::Ccl output,
data::DedispersionMeasureType< float >const &  dm,
data::AccelerationType const &  acc,
std::size_t  nharmonics,
Args &&...  args 
)

Find significant peaks in a power series.

This is a forwarding interface that will dispatch to the relevant implementation dependent on the input arguments.

Parameters
resourceThe resource to process on
inputThe power series to search for peaks in
outputAn output list of candidate peaks
dmThe dispersion measure of the power series
accThe acceleration of the power series
[in]nharmonicsThe number of harmonic sums the power series has undergone
[in]argsAny additional arguments to be passed to the implementation
Template Parameters
ArchThe architecture to process on
TThe value type of the power series
AllocThe allocator type of the power series
ArgsThe types of any additional arguments to be passed to the implementation

Definition at line 34 of file Tdao.cpp.

41 {
42  auto& algo = _implementations.get<Arch>();
43  algo.template process<T,Alloc,Args...>(resource,input,output,dm,acc,nharmonics,
44  std::forward<Args>(args)...);
45 }
void process(panda::PoolResource< Arch > &resource, data::PowerSeries< Arch, T, Alloc > const &input, data::Ccl &output, data::DedispersionMeasureType< float >const &dm, data::AccelerationType const &acc, std::size_t nharmonics, Args &&... args)
Find significant peaks in a power series.
Definition: Tdao.cpp:34

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