A single LoadToFold thread. More...

#include <LoadToFold1.h>

Inheritance diagram for dsp::LoadToFold:
dsp::SingleThread dsp::Pipeline Reference::Able Reference::HeapTracked

Classes

class  Config
 Load, unpack, process and fold data into phase-averaged profile(s) More...
 

Public Member Functions

void set_configuration (Config *)
 Set the configuration to be used in prepare and run.
 
 LoadToFold (Config *config=0)
 Constructor.
 
 ~LoadToFold ()
 Destructor.
 
void construct ()
 Create the pipeline.
 
void prepare ()
 Finish preparing.
 
void run ()
 Run through the data.
 
void finish ()
 Finish everything. More...
 
void share (SingleThread *)
 Share any necessary resources with the specified thread.
 
void end_of_data ()
 Wrap up tasks at end of data.
 
bool output_subints () const
 Return true if the output will be divided into sub-integrations.
 
TimeSeriesconstruct_inverse_filterbank (TimeSeries *, bool run_on_gpu=false)
 Construct an inverse filterbank.
 
TimeSeriesconstruct_filterbank (TimeSeries *, bool run_on_gpu=false)
 Construct a filterbank.
 
TimeSeriesconstruct_convolution (TimeSeries *, bool run_on_gpu=false)
 Construct a convolution operation.
 
TimeSeriesconstruct_interchan (TimeSeries *, bool run_on_gpu=false)
 Construct interchannel dispersive delay correction operation.
 
TimeSeriesconstruct_spectral_kurtosis (TimeSeries *data, bool run_on_gpu=false)
 Construct generalized spectral kurtosis estimator.
 
void construct_phased_filterbank (TimeSeries *input)
 Construct phase-locked filterbank.
 
void build_fold (TimeSeries *)
 Build to fold the given TimeSeries.
 
void build_fold (Reference::To< Fold > &, PhaseSeriesUnloader *)
 
void configure_fold (unsigned ifold, TimeSeries *to_fold)
 
void configure_detection (Detection *, unsigned)
 
PhaseSeriesUnloaderget_unloader (unsigned ifold)
 
void prepare_fold ()
 Prepare all fold instances.
 
void prepare_archiver (Archiver *)
 Prepare the given Archiver.
 
MJD parse_epoch (const std::string &)
 Parse the epoch string into a reference epoch.
 
- Public Member Functions inherited from dsp::SingleThread
 SingleThread ()
 Constructor.
 
 ~SingleThread ()
 Destructor.
 
void set_configuration (Config *)
 Set the configuration.
 
void set_source (Source *)
 Set the Source from which data are obtained. More...
 
Sourceget_source ()
 Get the Source from which data are obtained.
 
void initialize ()
 Initialize resources required by signal procesing pipline.
 
void seek_epoch (const MJD &)
 Seek such that output starts at the specified epoch.
 
virtual void combine (const SingleThread *)
 Combine the results from another processing thread.
 
uint64_t get_minimum_samples () const
 Get the minimum number of samples required to process.
 
void take_ostream (std::ostream *newlog)
 Take and manage a new ostream instance.
 
void set_affinity (int core)
 
const std::vector< Reference::To< Operation > > get_operations ()
 get the operations being performed
 
uint64_t set_block_size (uint64_t minimum_samples, uint64_t input_overlap=0)
 Set the number of time samples per block, based on RAM constraints.
 
- Public Member Functions inherited from Reference::Able
 Able (const Able &)
 
Ableoperator= (const Able &)
 
unsigned get_reference_count () const
 
- Public Member Functions inherited from Reference::HeapTracked
 HeapTracked (const HeapTracked &)
 
HeapTrackedoperator= (const HeapTracked &)
 
bool __is_on_heap () const
 

Public Attributes

Reference::To< PlasmaResponse > kernel
 The dedispersion and/or derotation kernel.
 
Reference::To< Dedispersiondedisp
 The dedispersion kernel.
 
Reference::To< Derotationderotate
 The derotation kernel.
 
std::vector< Reference::To< Fold > > fold
 A folding algorithm for each pulsar to be folded.
 
Reference::To< FoldManagerfold_manager
 Manages the execution of multiple Fold algorithms.
 
std::vector< Reference::To< OperationThread > > asynch_fold
 Wrap each folder in a separate thread of execution.
 
std::vector< Reference::To< PhaseSeriesUnloader > > unloader
 An unloader for each pulsar to be folded.
 
std::vector< Reference::To< SignalPath > > path
 An unique signal path for each pulsar to be folded.
 
bool manage_archiver
 Manage the archivers.
 
Reference::To< RFIFilterrfi_filter
 The RFI filter.
 
Reference::To< Configconfig
 Configuration parameters.
 
Reference::To< Responsepassband
 Integrates the passband.
 
Reference::To< Responsefrequency_response
 The frequency response applied during convolution.
 
Reference::To< Apodizationtemporal_apodization
 Optional window applied in time domain before forward FFT.
 
Reference::To< Apodizationspectral_apodization
 Optional window applied in frequency domain before backward FFT.
 
Reference::To< SpectralKurtosisskestimator
 Optional SK filterbank. More...
 
Reference::To< TimeSerieszero_DM_time_series
 Optional zero DM TimeSeries for Spectral Kurtosis.
 
Reference::To< Resizeskresize
 Optional SK Resizer.
 
Reference::To< Filterbankfilterbank
 Creates the filterbank.
 
Reference::To< Filterbank::Engine > filterbank_engine
 Optional filterbank engine.
 
Reference::To< InverseFilterbankinverse_filterbank
 reference to inverse filterbank
 
Reference::To< InverseFilterbank::Engineinverse_filterbank_engine
 Optional inverse filterbank engine.
 
Reference::To< Convolutionconvolution
 Performs coherent dedispersion.
 
Reference::To< ResponseProductresponse_product
 The product of the RFIFilter and Dedispersion kernel.
 
Reference::To< SampleDelay > sample_delay
 Removes inter-channel dispersion delays.
 
Reference::To< PhaseLockedFilterbankphased_filterbank
 Creates a filterbank in phase with the pulsar signal. More...
 
Reference::To< Detectiondetect
 Detects the phase-coherent signal.
 
bool fold_prepared
 
- Public Attributes inherited from dsp::SingleThread
std::ostream cerr
 The verbose output stream shared by all operations.
 
unsigned thread_id
 

Friends

class LoadToFoldN
 

Additional Inherited Members

- Static Public Member Functions inherited from Reference::Able
static size_t get_instance_count ()
 
- Static Public Member Functions inherited from Reference::HeapTracked
static void * operator new (size_t size, void *ptr=0)
 
static void operator delete (void *location, void *ptr)
 
static void operator delete (void *location)
 
static size_t get_heap_queue_size ()
 
- Protected Types inherited from dsp::SingleThread
enum  State {
  Fail, Idle, Construct, Constructed,
  Prepare, Prepared, Run, Done,
  Joined
}
 Processing thread states. More...
 
- Protected Member Functions inherited from dsp::SingleThread
virtual void prepare (Source *)
 Configure the source, if possible.
 
void configure_overlap (Source *, Memory *)
 Configure overlap memory, if possible.
 
TimeSeriesnew_time_series ()
 Create a new TimeSeries instance.
 
TimeSeriesnew_TimeSeries ()
 
void insert_dump_point (const std::string &transformation_name)
 Insert a dump point before the named operation.
 
void insert_mask (const std::string &transformation_name)
 Insert a mask before the named operation.
 
const std::string & app ()
 The name of the application running this thread.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 
- Protected Attributes inherited from dsp::SingleThread
std::ostream * log
 Pointer to the ostream.
 
State state
 Processing state.
 
Error error
 Error status.
 
ThreadContextstate_change
 State change communication.
 
ThreadContextsource_context
 Mutex protecting source.
 
SingleThreadcolleague
 Processing thread with whom sharing will occur.
 
Reference::To< Sourcesource
 Manages loading and unpacking.
 
Reference::To< TimeSeriessource_output
 The TimeSeries into which the Source outputs data.
 
Reference::To< Configconfig
 Configuration information.
 
std::vector< Reference::To< Operation > > operations
 The operations to be performed.
 
Reference::To< Scratchscratch
 The scratch space shared by all operations.
 
uint64_t minimum_samples
 The minimum number of samples required to process.
 
Reference::To< Memorydevice_memory
 
void * gpu_stream
 
int gpu_device
 

Detailed Description

A single LoadToFold thread.

Member Function Documentation

◆ finish()

void dsp::LoadToFold::finish ( )
virtual

Finish everything.

Run through the data.

Reimplemented from dsp::SingleThread.

References dsp::Archiver::unload().

Member Data Documentation

◆ phased_filterbank

Reference::To<PhaseLockedFilterbank> dsp::LoadToFold::phased_filterbank

Creates a filterbank in phase with the pulsar signal.

Useful when trying to squeeze frequency resolution out of a short period pulsar for the purposes of scintillation measurments

◆ skestimator

Reference::To<SpectralKurtosis> dsp::LoadToFold::skestimator

Optional SK filterbank.

Optional Spectral Kurtosis (for convolution)


The documentation for this class was generated from the following files:

Generated using doxygen 1.8.17