Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
Public Types | Public Member Functions | Protected Member Functions | List of all members
ska::cheetah::ddtr::DedispersionTrialPlan Class Reference

Configuration module to specify Dedispersion Trials. More...

#include <cheetah/ddtr/DedispersionTrialPlan.h>

Inheritance diagram for ska::cheetah::ddtr::DedispersionTrialPlan:
Inheritance graph
Collaboration diagram for ska::cheetah::ddtr::DedispersionTrialPlan:
Collaboration graph

Public Types

typedef data::DedispersionMeasureType< float > Dm
 
typedef boost::units::quantity< data::dm_constant::s_mhz::Unit, double > DmConstantType
 
typedef boost::units::quantity< boost::units::si::time, double > TimeType
 
typedef boost::units::quantity< data::MegaHertz, double > FrequencyType
 
typedef panda::ConfigModuleIteratorWrapper< DedispersionConfigRangeIterator
 
- Public Types inherited from ska::cheetah::utils::Config
typedef System SystemType
 
typedef panda::PoolManager< SystemTypePoolManagerType
 
typedef PoolManagerType::PoolType PoolType
 

Public Member Functions

 DedispersionTrialPlan (std::string const &tag_name)
 
DmConstantType dm_constant () const
 get DM constant More...
 
void dm_constant (DmConstantType dm_const)
 set DM constant More...
 
void add_dm_range (Dm start, Dm end, Dm step)
 get range of DM values
 
void dedispersion_config (DedispersionConfig &config)
 add a Dedispersion Configuration Element More...
 
std::shared_ptr< data::DmTrialsMetadatagenerate_dmtrials_metadata (TimeType sample_interval, std::size_t nspectra, std::size_t nsamples) const
 Generate metadata based on dedispersion plan. More...
 
std::vector< Dm > const & dm_trials () const
 list of DM trials
 
Dm max_dm () const
 the largest Dm value specified
 
TimeType maximum_delay (FrequencyType freq_low, FrequencyType freq_high) const
 the maximum delay time for a signal at the maximum Dm in the plan
 
template<typename Arch , typename NumericalRep >
data::DimensionSize< data::Time > maximum_delay_offset (data::TimeFrequency< Arch, NumericalRep > const &tf) const
 the maximum delay offset calculated with the TF blocks properties
 
RangeIterator begin_range () const
 
RangeIterator end_range () const
 
- Public Member Functions inherited from ska::cheetah::utils::Config
 Config (std::string module_name)
 
void terminate () const
 call for notifiers to indicate a termination condition More...
 

Protected Member Functions

void add_options (OptionsDescriptionEasyInit &add_options) override
 

Detailed Description

Configuration module to specify Dedispersion Trials.

Definition at line 47 of file DedispersionTrialPlan.h.

Member Function Documentation

◆ dedispersion_config()

void ska::cheetah::ddtr::DedispersionTrialPlan::dedispersion_config ( DedispersionConfig config)

add a Dedispersion Configuration Element

note that the lifetime of the passed object is not controlled by this class.

Definition at line 85 of file DedispersionTrialPlan.cpp.

86 {
87  add(dedispersion_tag(), config);
88  _dm_trials.clear();
89 }

◆ dm_constant() [1/2]

DedispersionTrialPlan::DmConstantType ska::cheetah::ddtr::DedispersionTrialPlan::dm_constant ( ) const

get DM constant

Returns
multiplicative factor giving DM delay in seconds for MHZ frequencies

Definition at line 106 of file DedispersionTrialPlan.cpp.

107 {
108  return _dm_constant;
109 }

◆ dm_constant() [2/2]

void ska::cheetah::ddtr::DedispersionTrialPlan::dm_constant ( DedispersionTrialPlan::DmConstantType  dm_const)

set DM constant

Returns
multiplicative factor giving DM delay in seconds for MHZ frequencies

Definition at line 117 of file DedispersionTrialPlan.cpp.

118 {
119  _dm_constant = dm_const;
120 }

◆ generate_dmtrials_metadata()

std::shared_ptr< data::DmTrialsMetadata > ska::cheetah::ddtr::DedispersionTrialPlan::generate_dmtrials_metadata ( TimeType  sample_interval,
std::size_t  nspectra,
std::size_t  nsamples 
) const

Generate metadata based on dedispersion plan.

Exceptions
Errorif size of DM overlap region exceeds number of spectra

Definition at line 91 of file DedispersionTrialPlan.cpp.

92 {
93  if (nspectra < overlap) {
94  panda::Error e("Overlap exceeds number of spectra: ");
95  e << overlap << " > " << nspectra;
96  throw e;
97  }
98  std::shared_ptr<data::DmTrialsMetadata> meta_data(new data::DmTrialsMetadata(sample_interval, nspectra - overlap));
99  for (auto dm : dm_trials())
100  {
101  meta_data->emplace_back(dm, 1);
102  }
103  return meta_data;
104 }
std::vector< Dm > const & dm_trials() const
list of DM trials
Here is the call graph for this function:

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