Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
TimeFrequencyFlags.h
1 #ifndef SKA_CHEETAH_DATA_TIMEFREQUENCYFLAGS_H
2 #define SKA_CHEETAH_DATA_TIMEFREQUENCYFLAGS_H
3 
4 #include "cheetah/data/DataSequence2D.h"
5 #include "panda/DataChunk.h"
6 #include "pss/astrotypes/types/TimeFrequency.h"
7 #include <vector>
8 
9 namespace ska {
10 namespace cheetah {
11 namespace data {
12 
13 using pss::astrotypes::units::Frequency;
14 using pss::astrotypes::units::Time;
15 template<typename T> using DimensionSize = pss::astrotypes::DimensionSize<T>;
16 typedef bool FlagsType;
17 
18 template<class Arch=Cpu>
19 class TimeFrequencyFlags : public pss::astrotypes::TimeFrequency<uint8_t>
20  , public panda::DataChunk<TimeFrequencyFlags<Arch>>
21 {
22  typedef pss::astrotypes::TimeFrequency<uint8_t> BaseT;
23 
24  public:
25  using typename BaseT::Channel;
26  using typename BaseT::ConstChannel;
27 
28  public:
33 
37  TimeFrequencyFlags(DimensionSize<Time> number_of_spectra, DimensionSize<Frequency> number_of_channels);
39 
43  std::size_t number_of_channels() const;
44 
48  std::size_t number_of_spectra() const;
49 
53  void reset(bool v = false);
54 };
55 
56 } // namespace data
57 } // namespace cheetah
58 } // namespace ska
59 
60 #include "detail/TimeFrequencyFlags.cpp"
61 
62 #endif // SKA_CHEETAH_DATA_TIMEFREQUENCYFLAGS_H
Some limits and constants for FLDO.
Definition: Brdz.h:35
void reset(bool v=false)
reset all flags to the dspecified value