1 #ifndef SKA_CHEETAH_DATA_DMTRIALS_H 2 #define SKA_CHEETAH_DATA_DMTRIALS_H 4 #include "cheetah/data/DmTrial.h" 5 #include "cheetah/data/DmTrialsMetadata.h" 6 #include "cheetah/data/Units.h" 7 #include "cheetah/data/DedispersionMeasure.h" 8 #include "cheetah/data/DefaultAllocator.h" 9 #include "cheetah/data/Series.h" 10 #include "cheetah/utils/ModifiedJulianClock.h" 11 #include "panda/DataChunk.h" 61 template <typename Arch, typename NumericT, typename Alloc=typename DefaultAllocator<Arch,NumericT>::type>
63 :
public panda::DataChunk<DmTrials<Arch,NumericT,Alloc>>
65 template<
typename,
typename,
typename>
friend class DmTrials;
68 typedef DedispersionMeasureType<float> DmType;
71 typedef typename DmTrialType::TimeType TimeType;
72 typedef cheetah::utils::ModifiedJulianClock::time_point Mjd;
73 typedef typename std::vector<DmTrialType>::iterator Iterator;
74 typedef typename std::vector<DmTrialType>::const_iterator ConstIterator;
75 typedef NumericT ValueType;
77 typedef Arch Architecture;
78 typedef Alloc Allocator;
85 DmTrials(std::shared_ptr<DmTrialsMetadata>
metadata, Mjd start, Alloc
const& allocator=Alloc());
90 template<
typename OtherArch,
typename OtherNumericT,
typename OtherAlloc>
116 DmTrialType
const&
operator[](std::size_t n)
const;
122 ConstIterator
begin()
const;
123 ConstIterator cbegin()
const;
129 ConstIterator
end()
const;
130 ConstIterator cend()
const;
135 std::size_t
size()
const;
172 std::shared_ptr<DmTrialsMetadata> _metadata;
174 std::vector<DmTrialType> _trials;
184 #include "cheetah/data/detail/DmTrials.cpp" 186 #endif // SKA_CHEETAH_DATA_DMTRIALS_H DmTrialsMetadata const & metadata() const
Return the trials meta data object.
bool is_compatible(DmTrials const &other) const
Determines if another DmTrials object is compatible with this one.
Iterator begin()
Return an iterator pointing to the start of the DM trials container.
bool is_contiguous(DmTrials const &other) const
Determines if another DmTrials object is contiguous in time after this one.
Some limits and constants for FLDO.
Mjd const & start_time() const
Iterator end()
Return an iterator pointing to the end of the DM trials container.
TimeType duration() const
Return the time duration of the DmTrials.
DmTrialType & operator[](std::size_t n)
Return reference to DmTrial instance.
A continuous memory container for dispersion measure trials of varying downsamplings.
std::size_t size() const
Return the number of DmTrials.
A wrapper class that presents a SeriesSlice object as a trial dispersion measure time series...
~DmTrials()
empty object constructor