24 #include "cheetah/tdas/test_utils/TdasTester.h" 25 #include "cheetah/data/DmTrialsMetadata.h" 26 #include "cheetah/data/FrequencySeries.h" 27 #include "cheetah/data/Ccl.h" 28 #include "cheetah/data/Units.h" 29 #include "cheetah/utils/Architectures.h" 30 #include "cheetah/data/ComplexTypeTraits.h" 31 #include "cheetah/data/test_utils/DmTimeTest.h" 41 template<
typename ArchitectureTag,
typename ArchitectureCapability,
typename T>
42 TdasTesterTraits<ArchitectureTag,ArchitectureCapability, T>::TdasTesterTraits()
47 template<
typename ArchitectureTag,
typename ArchitectureCapability,
typename T>
48 tdas::Tdas<T>& TdasTesterTraits<ArchitectureTag,ArchitectureCapability, T>::api()
53 template<
typename ArchitectureTag,
typename ArchitectureCapability,
typename T>
54 tdas::Config& TdasTesterTraits<ArchitectureTag,ArchitectureCapability, T>::config()
59 template <
typename DeviceType,
typename Arch,
typename T>
62 inline static void test(DeviceType& device,
tdas::Tdas<T>& api)
64 typedef typename utils::ModifiedJulianClock::time_point TimePoint;
66 typedef typename tdas::DmTrialsType::DmType Dm;
67 std::size_t number_of_blocks = 10L;
68 auto buffer = tdas::DmTimeType::make_shared();
69 typename utils::ModifiedJulianClock::time_point epoch(utils::julian_day(40587.0));
70 for (std::size_t block=0; block<number_of_blocks; ++block)
72 auto metadata = data::DmTrialsMetadata::make_shared(Seconds(0.0001*data::seconds),1<<14);
73 metadata->emplace_back(Dm(0.0*data::parsecs_per_cube_cm),1);
74 metadata->emplace_back(Dm(10.0*data::parsecs_per_cube_cm),2);
75 metadata->emplace_back(Dm(20.0*data::parsecs_per_cube_cm),4);
76 auto trials = tdas::DmTrialsType::make_shared(metadata,epoch);
79 auto it = buffer->begin(2);
81 std::shared_ptr<data::Ccl> candidate_list = api.
process(device,*slice);
85 template <
typename TestTraits>
91 template <
typename TestTraits>
96 template<
typename TestTraits>
101 template<
typename TestTraits>
109 auto& config = traits.config();
110 auto& api = traits.api();
116 REGISTER_TYPED_TEST_CASE_P(
TdasTester, test_exec);
Some limits and constants for FLDO.
std::shared_ptr< data::Ccl > process(panda::PoolResource< Arch > &resource, DmTimeSliceType const &data, Args &&... args)
Process a DmTimeSlice in search of significant periodic signals over a range of acceleration values...