Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
DmTrialsGeneratorUtil.cpp
1 #include "cheetah/data/test_utils/DmTrialsGeneratorUtil.h"
2 
3 namespace ska {
4 namespace cheetah {
5 namespace data {
6 namespace test {
7 
8 template <typename DmTrialsType>
9 DmTrialsGeneratorUtil<DmTrialsType>::DmTrialsGeneratorUtil()
10  : _epoch(TimePoint(utils::julian_day(40587.0)))
11 {
12 
13 }
14 
15 template <typename DmTrialsType>
16 DmTrialsGeneratorUtil<DmTrialsType>::~DmTrialsGeneratorUtil()
17 {
18 
19 }
20 
21 template <typename DmTrialsType>
22 std::shared_ptr<DmTrialsType> DmTrialsGeneratorUtil<DmTrialsType>::generate(
23  typename DmTrialsType::TimeType sampling_interval,
24  std::size_t fundamental_sample_count,
25  std::size_t ndms)
26 {
27  auto metadata = DmTrialsMetadata::make_shared(sampling_interval,fundamental_sample_count);
28  for (std::size_t dm_idx=0; dm_idx<ndms; ++dm_idx)
29  {
30  metadata->emplace_back(DmTrialsMetadata::DmType(dm_idx * data::parsecs_per_cube_cm), 1);
31  }
32  auto trials = DmTrialsType::make_shared(metadata,_epoch);
33  _epoch += std::chrono::duration<double>(trials->duration().value());
34  return trials;
35 }
36 
37 template <typename DmTrialsType>
38 typename DmTrialsGeneratorUtil<DmTrialsType>::TimePoint DmTrialsGeneratorUtil<DmTrialsType>::epoch() const
39 {
40  return _epoch;
41 }
42 
43 template <typename DmTrialsType>
44 void DmTrialsGeneratorUtil<DmTrialsType>::epoch(TimePoint t)
45 {
46  _epoch = t;
47 }
48 
49 } // namespace test
50 } // namespace data
51 } // namespace cheetah
52 } // namespace ska
Some limits and constants for FLDO.
Definition: Brdz.h:35