Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
RfimFlaggedData.cpp
1 #include "cheetah/data/RfimFlaggedData.h"
2 
3 
4 namespace ska {
5 namespace cheetah {
6 namespace data {
7 
8 
9 template<typename TimeFrequencyType>
10 RfimFlaggedData<TimeFrequencyType>::RfimFlaggedData(std::shared_ptr<TimeFrequencyType> ptr)
11  : BaseT(std::move(ptr))
12  , _flag_data(this->get().template dimension<data::Time>(), ptr->template dimension<data::Frequency>())
13 {
14  std::fill(_flag_data.begin(), _flag_data.end(), false);
15 }
16 
17 template<typename TimeFrequencyType>
18 RfimFlaggedData<TimeFrequencyType>::RfimFlaggedData(TimeFrequencyType& data)
19  : BaseT(data.shared_from_this())
20  , _flag_data(data.template dimension<data::Time>(), data.template dimension<data::Frequency>())
21 {
22  std::fill(_flag_data.begin(), _flag_data.end(), false);
23 }
24 
25 template<typename TimeFrequencyType>
26 template<typename Dim1, typename Dim2>
27 RfimFlaggedData<TimeFrequencyType>::RfimFlaggedData(data::DimensionSize<Dim1> d1, data::DimensionSize<Dim2> d2)
28  : BaseT(std::make_shared<TimeFrequencyType>(d1, d2))
29  , _flag_data(this->get().template dimension<data::Time>()
30  , this->get().template dimension<data::Frequency>())
31 {
32  std::fill(_flag_data.begin(), _flag_data.end(), false);
33 }
34 
35 template<typename TimeFrequencyType>
36 RfimFlaggedData<TimeFrequencyType>::~RfimFlaggedData()
37 {
38 }
39 
40 template<typename TimeFrequencyType>
41 RfimFlaggedData<TimeFrequencyType>::operator TimeFrequencyType&()
42 {
43  return this->get();
44 }
45 
46 template<typename TimeFrequencyType>
47 RfimFlaggedData<TimeFrequencyType>::operator TimeFrequencyType const&() const
48 {
49  return this->get();
50 }
51 
52 template<typename TimeFrequencyType>
53 RfimFlaggedData<TimeFrequencyType>::operator data::TimeFrequencyFlags<Cpu>&()
54 {
55  return _flag_data;
56 }
57 
58 template<typename TimeFrequencyType>
59 data::TimeFrequencyFlags<Cpu> const& RfimFlaggedData<TimeFrequencyType>::rfi_flags() const
60 {
61  return _flag_data;
62 }
63 
64 template<typename TimeFrequencyType>
65 data::TimeFrequencyFlags<Cpu>& RfimFlaggedData<TimeFrequencyType>::rfi_flags()
66 {
67  return _flag_data;
68 }
69 
70 
71 template<typename TimeFrequencyType>
72 TimeFrequencyType& RfimFlaggedData<TimeFrequencyType>::tf_data()
73 {
74  return this->get();
75 }
76 
77 template<typename TimeFrequencyType>
78 TimeFrequencyType const& RfimFlaggedData<TimeFrequencyType>::tf_data() const
79 {
80  return this->get();
81 }
82 
83 } // namespace data
84 } // namespace cheetah
85 } // namespace ska
Some limits and constants for FLDO.
Definition: Brdz.h:35