Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
RfimFlaggedData.h
1 #ifndef SKA_CHEETAH_DATA_RFIMFLAGGEDDATA_H
2 #define SKA_CHEETAH_DATA_RFIMFLAGGEDDATA_H
3 
4 #include "cheetah/data/TimeFrequencyFlags.h"
5 #include "cheetah/data/TimeFrequencyStats.h"
6 #include "panda/DataChunk.h"
7 
8 namespace ska {
9 namespace cheetah {
10 namespace data {
11 
17 template<typename TimeFrequencyType>
18 class RfimFlaggedData : public TimeFrequencyStats<TimeFrequencyType>
19  , public panda::DataChunk<RfimFlaggedData<TimeFrequencyType>>
20 {
22 
23  public:
25  typedef typename TimeFrequencyType::NumericalRep NumericalRep;
26  typedef typename TimeFrequencyType::FrequencyType FrequencyType;
27 
28  public:
29  RfimFlaggedData(TimeFrequencyType&);
30  RfimFlaggedData(std::shared_ptr<TimeFrequencyType> ptr);
31  template<typename Dim1, typename Dim2>
32  RfimFlaggedData(data::DimensionSize<Dim1>, data::DimensionSize<Dim2>);
33  ~RfimFlaggedData();
34 
35  operator TimeFrequencyType&();
36  operator TimeFrequencyType const&() const;
38 
39  data::TimeFrequencyFlags<Cpu> const& rfi_flags() const;
40  data::TimeFrequencyFlags<Cpu>& rfi_flags();
41  TimeFrequencyType& tf_data();
42  TimeFrequencyType const& tf_data() const;
43 
44 
45  private:
46  TimeFrequencyFlagsType _flag_data;
47 };
48 
49 
50 } // namespace data
51 } // namespace cheetah
52 } // namespace ska
53 
54 #include "detail/RfimFlaggedData.cpp"
55 
56 #endif // SKA_CHEETAH_DATA_RFIMFLAGGEDDATA_H
TimeFrequency data with flags representing rfim detection.
Some limits and constants for FLDO.
Definition: Brdz.h:35
A class to compute timefrequency stats (mean and variance.