|
virtual void | check_input () |
| Check that the input state is appropriate.
|
|
virtual void | prepare_output () |
| Prepare the output PhaseSeries.
|
|
virtual void | setup_engine () |
| Transfer current settings to engine.
|
|
virtual void | transformation () |
| The transformation folds the data into the profile.
|
|
virtual void | fold (uint64_t nweights, const unsigned *weights, unsigned ndatperweight, unsigned weight_idat) |
| Fold nblock blocks of data. More...
|
|
virtual void | set_limits (const Observation *input) |
| Set the idat_start and ndat_fold attributes. More...
|
|
void | set_idat_start (uint64_t _idat_start) |
| Used by the MultiFold class.
|
|
uint64_t | get_idat_start () |
| Used by the MultiFold class.
|
|
void | set_ndat_fold (uint64_t _ndat_fold) |
| Used by the MultiFold class.
|
|
uint64_t | get_ndat_fold () |
| Used by the MultiFold class.
|
|
double | get_pfold (const MJD &start_time) |
| Called by fold to return pfold.
|
|
double | get_phi (const MJD &start_time) |
| Called by new_fold() to return phi.
|
|
void | initialise () |
| Makes sure parameters are initialised. More...
|
|
virtual bool | can_operate () |
| Return false if the input doesn't have enough data to proceed.
|
|
virtual void | operation () |
| Define the Operation pure virtual method.
|
|
virtual void | vchecks () |
| Makes sure input & output are okay before calling transformation()
|
|
virtual void | set_name (const std::string &_name) |
| Set the name!
|
|
int | timers_index (const std::string &op_name) |
| Returns the index in the 'timers' array of a particular timer.
|
|
Handle * | __reference (bool active) const |
|
void | __dereference (bool auto_delete=true) const |
|
Fold TimeSeries data into cyclic spectra.
Folds input voltage data into periodic correlations to compute cyclic spectra, using the 'time domain' lag folding algorithm described by Demorest (2011). Output format is periodic spectra to fit into the usual pulse profile data structures.
This Operation does not modify the TimeSeries. Rather, it accumulates periodic correaltion data within its data structures, then Fourier transforms the lag dimension into spectra for the final output.
Since basically the entire algorithm for standard folding applies here, this class inherits Fold. The major differences are that voltage input is required, and the output contains a different number of channels than the input. The work is performed by CyclicFoldEngine.