24 #ifndef SKA_CHEETAH_DATA_SPCANDIDATE_H 25 #define SKA_CHEETAH_DATA_SPCANDIDATE_H 27 #include "cheetah/data/Units.h" 28 #include "cheetah/data/DedispersionMeasure.h" 29 #include "cheetah/utils/Architectures.h" 30 #include "panda/DataChunk.h" 31 #pragma GCC diagnostic push 32 #pragma GCC diagnostic ignored "-Wall" 33 #pragma GCC diagnostic ignored "-Wpragmas" 34 #pragma GCC diagnostic ignored "-Wunused-parameter" 35 #pragma GCC diagnostic ignored "-Wunused-variable" 36 #include <boost/units/quantity.hpp> 37 #include <boost/units/systems/si/time.hpp> 38 #include <boost/units/make_scaled_unit.hpp> 39 #pragma GCC diagnostic pop 57 template <
typename Arch,
typename T>
58 class SpCandidate :
public ska::panda::DataChunk<SpCandidate<Arch, T>>
61 typedef T NumericalRep;
62 typedef DedispersionMeasureType<NumericalRep> Dm;
63 typedef boost::units::quantity<MilliSeconds, double> MsecTimeType;
64 typedef MsecTimeType Width;
65 typedef pss::astrotypes::units::ModifiedJulianClock::time_point TimePointType;
67 typedef boost::units::quantity<MegaHertz, double> FrequencyType;
85 , std::size_t
ident = 0 );
100 , std::size_t
ident = 0 );
115 , std::size_t
ident = 0 );
127 MsecTimeType
const &
tstart()
const;
134 void tstart(MsecTimeType c_tstart);
141 MsecTimeType
const&
tend()
const;
142 void tend(MsecTimeType);
155 void dm_with_duration_end(FrequencyType
const& f_high, FrequencyType
const& f_low, Dm
const& dm );
168 Dm
const &
dm()
const;
178 MsecTimeType
const &
width()
const;
187 void width(MsecTimeType c_width) ;
201 T
const &
sigma()
const;
215 void sigma(T c_sigma) ;
226 std::size_t
const &
ident()
const;
237 void ident(std::size_t c_ident) ;
241 MsecTimeType _tstart;
253 #include "cheetah/data/detail/SpCandidate.cpp" 255 #endif // SKA_CHEETAH_DATA_SPCANDIDATE_H A simple record to hold 'candidate' proprerties.
T const & sigma() const
access a reference to _sigma.
Dm const & dm() const
access a reference to dm.
SpCandidate()
Create a zero-sized SpCandidate.
void dm_with_duration_end(FrequencyType const &f_high, FrequencyType const &f_low, Dm const &dm)
Set the end time : This step is important as the DM will be set along with the end time...
Some limits and constants for FLDO.
MsecTimeType const & tstart() const
Get the start time of the candidate.
std::size_t const & ident() const
access a reference to ident.
MsecTimeType const & width() const
access a reference to width.
void duration_end(MsecTimeType c_tend)
Set the end time The end time is calculated based on the DM of the candidate and the start and end f...
MsecTimeType const & tend() const
Get the end time.
~SpCandidate()
destroy a SpCandidate