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

Power Spectrum Fourier Transform version / Transform / Module. More...

#include <cheetah/pwft/Pwft.h>

Collaboration diagram for ska::cheetah::pwft::Pwft:
Collaboration graph

Public Member Functions

 Pwft (Config const &config)
 
 Pwft (Pwft const &)=delete
 
 Pwft (Pwft &&)=default
 
template<typename Arch , typename T , typename InputAlloc , typename OutputAlloc , typename... Args>
void process_direct (panda::PoolResource< Arch > &resource, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, InputAlloc >const &input, data::PowerSeries< Arch, T, OutputAlloc > &output, Args &&... args)
 Form power spectrum using absolute squared. More...
 
template<typename Arch , typename T , typename InputAlloc , typename OutputAlloc , typename... Args>
void process_nn (panda::PoolResource< Arch > &resource, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, InputAlloc >const &input, data::PowerSeries< Arch, T, OutputAlloc > &output, Args &&... args)
 Form power spectrum using absolute squared with nearest neighbour comparison. More...
 

Detailed Description

Power Spectrum Fourier Transform version / Transform / Module.

Definition at line 48 of file Pwft.h.

Member Function Documentation

◆ process_direct()

template<typename Arch , typename T , typename InputAlloc , typename OutputAlloc , typename... Args>
void ska::cheetah::pwft::Pwft::process_direct ( panda::PoolResource< Arch > &  resource,
data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, InputAlloc >const &  input,
data::PowerSeries< Arch, T, OutputAlloc > &  output,
Args &&...  args 
)

Form power spectrum using absolute squared.

Each power measurement is found by output[i] = |input[i]|^2

Parameters
resourceA panda PoolResource object
[in]inputA FrequencySeries object of complex data type
[out]outputA FrequencySeries object of real data type
args...Additional arguments to be forwarded to implementation
Template Parameters
ArchA processing architecture
TThe value type of the input and output FrequencySeries
AllocThe allocator type of the input and output FrequencySeries
ArgsAdditional template parameters for call forwarding

Definition at line 33 of file Pwft.cpp.

37 {
38  auto& algo = _implementations.get<Arch>();
39  algo.template process_direct<T,InputAlloc,OutputAlloc,Args...>(resource,input,output,std::forward<Args>(args)...);
40 }
void process_direct(panda::PoolResource< Arch > &resource, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, InputAlloc >const &input, data::PowerSeries< Arch, T, OutputAlloc > &output, Args &&... args)
Form power spectrum using absolute squared.
Definition: Pwft.cpp:33

◆ process_nn()

template<typename Arch , typename T , typename InputAlloc , typename OutputAlloc , typename... Args>
void ska::cheetah::pwft::Pwft::process_nn ( panda::PoolResource< Arch > &  resource,
data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, InputAlloc >const &  input,
data::PowerSeries< Arch, T, OutputAlloc > &  output,
Args &&...  args 
)

Form power spectrum using absolute squared with nearest neighbour comparison.

Each power measurement is found by comparing neighbouring bins such that output[i] = max(|input[i]|^2, |input[i]-input[i-1]|^2)

Parameters
resourceA panda PoolResource object
[in]inputA FrequencySeries object of complex data type
[out]outputA FrequencySeries object of real data type
args...Additional arguments to be forwarded to implementation
Template Parameters
ArchA processing architecture
TThe value type of the input and output FrequencySeries
AllocThe allocator type of the input and output FrequencySeries
ArgsAdditional template parameters for call forwarding

Definition at line 43 of file Pwft.cpp.

47 {
48  auto& algo = _implementations.get<Arch>();
49  algo.template process_nn<T,InputAlloc,OutputAlloc,Args...>(resource,input,output,std::forward<Args>(args)...);
50 }
void process_nn(panda::PoolResource< Arch > &resource, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, InputAlloc >const &input, data::PowerSeries< Arch, T, OutputAlloc > &output, Args &&... args)
Form power spectrum using absolute squared with nearest neighbour comparison.
Definition: Pwft.cpp:43

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