24 #include "cheetah/pipeline/test/TdasAccelerationSearchTest.h" 25 #include "cheetah/pipeline/AccelerationSearch.h" 26 #include "cheetah/pipeline/TdasAccelerationSearchTraits.h" 27 #include "cheetah/data/TimeFrequency.h" 28 #include "cheetah/data/Units.h" 29 #include "cheetah/data/DedispersionMeasure.h" 30 #include "cheetah/ddtr/DedispersionConfig.h" 31 #include "cheetah/generators/GaussianNoise.h" 32 #include "cheetah/generators/GaussianNoiseConfig.h" 42 TdasAccelerationSearchTest::TdasAccelerationSearchTest()
47 TdasAccelerationSearchTest::~TdasAccelerationSearchTest()
51 void TdasAccelerationSearchTest::SetUp()
55 void TdasAccelerationSearchTest::TearDown()
59 template<
typename NumericalT>
66 typedef typename TimeFrequencyType::DataType DataType;
74 config.
sps_config().dedispersion_config(dd_config_low);
75 dd_config_low.
dm_start(ddtr::DedispersionConfig::Dm(0.0 * data::parsecs_per_cube_cm));
76 dd_config_low.
dm_end(ddtr::DedispersionConfig::Dm(100.0 * data::parsecs_per_cube_cm));
77 dd_config_low.
dm_step(ddtr::DedispersionConfig::Dm(0.1 * data::parsecs_per_cube_cm));
92 config.
sps_config().set_dedispersion_samples(1<<18);
108 cuda_algo_config.tdao_config().significance_threshold(7.0);
109 cuda_algo_config.tdao_config().minimum_frequency(0.1 * data::hz);
110 cuda_algo_config.tdao_config().maximum_frequency(2000.0 * data::hz);
111 cuda_algo_config.dred_config().oversmoothing_factor(5);
117 acc_config.acc_lo(-10.0);
118 acc_config.acc_hi(10.0);
119 acc_config.tolerance(1.25);
122 config.
sift_config().template config<sift::simple_sift::Config>().active(
true);
125 config.
fldo_config().template config<fldo::cuda::Config>().active(
true);
128 AccelerationSearchType pipeline(config, beam_config);
133 noise_config.mean(96.0);
134 noise_config.std_deviation(10.0);
137 typename utils::ModifiedJulianClock::time_point epoch(utils::julian_day(50000.0));
139 double tsamp_us = 64.0;
142 std::size_t total_nsamps = std::size_t(1.0 / (tsamp_us * 1e-6));
143 data::DimensionSize<data::Time> number_of_samples(1000);
144 data::DimensionSize<data::Frequency> number_of_channels(1024);
145 std::size_t loop_count = total_nsamps/number_of_samples + 10;
146 for (std::size_t ii=0; ii<loop_count; ++ii)
148 auto tf = std::make_shared<TimeFrequencyType>(number_of_samples, number_of_channels);
149 auto f1 =
typename TimeFrequencyType::FrequencyType(f_high * boost::units::si::giga * boost::units::si::hertz);
150 auto f2 =
typename TimeFrequencyType::FrequencyType(f_low * boost::units::si::giga * boost::units::si::hertz);
151 auto delta = (f2 - f1)/ (
double)number_of_channels;
152 tf->set_channel_frequencies_const_width( f1, delta );
153 tf->sample_interval(
typename TimeFrequencyType::TimeType(tsamp_us * boost::units::si::micro * data::seconds));
154 tf->start_time(epoch);
155 epoch += std::chrono::duration<double>(tf->sample_interval().value()*number_of_samples);
sift::ConfigType const & sift_config() const
return the sift module specific configuration parameters
tdas::ConfigType const & tdas_config() const
return the tdas module-specific configuration parameters
The acceleration search pipeline.
Dm dm_start() const
the first dm condidate to try
describes dedispersion configuration
psbc::Config const & psbc_config() const
return the psbc module specific configuration parameters
AccelerationSearchAlgoConfig & acceleration_search_config()
return the templated acceleration search configuration
Some limits and constants for FLDO.
Dm dm_end() const
the last dm condidate to try
sps::ConfigType< PoolManagerType > const & sps_config() const
return the sps module specific configuration parameters
Parse configuration parameters for a single beam in the pipeline instance of cheetah.
fldo::ConfigType const & fldo_config() const
return the fldo module specific configuration parameters
Dm dm_step() const
the step size to take in generating dm trials between start and end