Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Types | Public Member Functions | List of all members
ska::cheetah::dred::Dred< T > Class Template Reference

Class for implementing spectral dereddening. More...

#include <cheetah/dred/Dred.h>

Collaboration diagram for ska::cheetah::dred::Dred< T >:
Collaboration graph

Public Types

typedef panda::AlgorithmTuple< cuda::Dred< T > > Implementations
 

Public Member Functions

 Dred (Config const &config)
 Construct a new Dred instance. More...
 
 Dred (Dred const &)=delete
 
 Dred (Dred &&)=default
 
template<typename Arch , typename Alloc , typename... Args>
void process (panda::PoolResource< Arch > &resource, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, Alloc >const &input, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, Alloc > &output, data::AccelerationType maximum_acceleration, Args &&... args)
 Deredden a complex frequency series. More...
 

Detailed Description

template<typename T>
class ska::cheetah::dred::Dred< T >

Class for implementing spectral dereddening.

Template Parameters
TThe base value type of the data to be dereddened

Definition at line 46 of file Dred.h.

Constructor & Destructor Documentation

◆ Dred()

template<typename T >
ska::cheetah::dred::Dred< T >::Dred ( Config const &  config)

Construct a new Dred instance.

Parameters
configA Dred configuration object

Definition at line 32 of file Dred.cpp.

33  : _config(config)
34  , _implementations(cuda::Dred<T>(config.cuda_config(), _config))
35 {
36 }

Member Function Documentation

◆ process()

template<typename T >
template<typename Arch , typename Alloc , typename... Args>
void ska::cheetah::dred::Dred< T >::process ( panda::PoolResource< Arch > &  resource,
data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, Alloc >const &  input,
data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, Alloc > &  output,
data::AccelerationType  maximum_acceleration,
Args &&...  args 
)

Deredden a complex frequency series.

This method forwards to the relevant implementation based on the Arch parameter and the types of the arguments passed.

Parameters
resourceThe resource to process on
inputThe frequency series to be dereddened
outputThe output for the dereddened frequency series
[in]maximum_accelerationThe maximum acceleration (use to calculate the median filter window size at each frequency)
[in]argsAdditional arguments to be passed to implementation
Template Parameters
ArchThe architectiure to be processed on
AllocThe allocator type of the input and output
ArgsThe types of any additional arguments

Definition at line 45 of file Dred.cpp.

50 {
51  auto& algo = _implementations.template get<Arch>();
52  algo.template process<Alloc,Args...>(resource,input,output,maximum_acceleration,std::forward<Args>(args)...);
53 }
void process(panda::PoolResource< Arch > &resource, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, Alloc >const &input, data::FrequencySeries< Arch, typename data::ComplexTypeTraits< Arch, T >::type, Alloc > &output, data::AccelerationType maximum_acceleration, Args &&... args)
Deredden a complex frequency series.
Definition: Dred.cpp:45

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