dsp::ParallelBitSeries Class Reference

Manages an array of BitSeries to be process in parallel. More...

#include <ParallelBitSeries.h>

Inheritance diagram for dsp::ParallelBitSeries:
dsp::Observation OwnStream Reference::Able Reference::HeapTracked

Public Member Functions

 ParallelBitSeries ()
 Constructor.
 
void resize (unsigned N)
 Create and manage N BitSeries objects.
 
unsigned size ()
 Return the number of BitSeries objects.
 
const unsigned size () const
 
BitSeriesat (unsigned i)
 Get the ith BitSeries instance.
 
const BitSeriesat (unsigned i) const
 
void set_memory (Memory *)
 
Memoryget_memory ()
 
unsigned get_request_offset () const
 Offset (owing to resolution) to the requested time sample.
 
uint64_t get_request_ndat () const
 Number of time samples requested.
 
int64_t get_input_sample (Input *input=0) const
 Return the sample offset from the start of the data source.
 
void copy_configuration (const Observation *copy)
 Copy the configuration of another Observation (not the data)
 
- Public Member Functions inherited from dsp::Observation
 Observation ()
 Null constructor.
 
 Observation (const Observation &)
 Copy constructor.
 
 Observation (const Observation *)
 Copy from pointer constructor.
 
const Observationoperator= (const Observation &)
 Assignment operator.
 
virtual ~Observation ()
 Virtual destructor (see Effective C++ Item 14)
 
virtual void copy (const Observation *obs)
 Same as operator= but takes a pointer.
 
virtual Observationclone () const
 Cloner (calls new)
 
virtual void set_basis (Signal::Basis _basis)
 Set the type of receiver feeds.
 
Signal::Basis get_basis () const
 Return the type of receiver feeds.
 
virtual void set_state (Signal::State _state)
 Set the state of the signal.
 
Signal::State get_state () const
 Return the state of the signal.
 
virtual void set_type (Signal::Source _type)
 Set the source type.
 
Signal::Source get_type () const
 Return the source type.
 
virtual void set_ndim (unsigned _ndim)
 Set the dimension of each datum.
 
unsigned get_ndim () const
 Return the dimension of each datum.
 
virtual void set_nchan (unsigned _nchan)
 Set the number of channels into which the band is divided.
 
unsigned get_nchan () const
 Return the number of channels into which the band is divided.
 
virtual void set_npol (unsigned _npol)
 Set the number of polarizations.
 
unsigned get_npol () const
 Return the number of polarizations.
 
virtual void set_nbit (unsigned _nbit)
 Set the number of bits per value.
 
unsigned get_nbit () const
 Return the number of bits per value.
 
uint64_t bits_per_sample () const
 Return the number of bits in a single time sample (over all channels, pols, and dimensions)
 
virtual void set_ndat (uint64_t _ndat)
 Set the number of time samples in container. More...
 
uint64_t get_ndat () const
 Return the number of time samples in container.
 
virtual void set_telescope (const std::string &name)
 Set the telescope name.
 
std::string get_telescope () const
 Return the telescope name.
 
virtual void set_receiver (const std::string &name)
 Set the receiver name.
 
std::string get_receiver () const
 Return the receiver name.
 
virtual void set_source (const std::string &name)
 Set the source name.
 
std::string get_source () const
 Return the source name.
 
virtual void set_coordinates (sky_coord _coordinates)
 Set the coordinates of the source.
 
sky_coord get_coordinates () const
 Return the coordinates of the source.
 
virtual void set_centre_frequency (double cf)
 Set the centre frequency of the band-limited signal in MHz.
 
double get_centre_frequency () const
 Return the centre frequency of the band-limited signal in MHz.
 
double get_centre_frequency (unsigned ichan) const
 Returns the centre frequency of the specified channel in MHz.
 
double get_base_frequency () const
 Returns the centre frequency of the reference channel in MHz.
 
unsigned get_unswapped_ichan (unsigned ichan) const
 Returns the unswapped channel index of the specified channel.
 
virtual void set_bandwidth (double _bandwidth)
 Set the bandwidth of signal in MHz (-ve = lsb; +ve = usb)
 
double get_bandwidth () const
 Return the bandwidth of signal in MHz (-ve = lsb; +ve = usb)
 
virtual void set_start_time (MJD _start_time)
 Set the start time of the leading edge of the first time sample.
 
MJD get_start_time () const
 Return the start time of the leading edge of the first time sample.
 
virtual void set_rate (double _rate)
 Set the sampling rate (time samples per second in Hz)
 
double get_rate () const
 Return the sampling rate (time samples per second in Hz)
 
virtual void set_scale (double _scale)
 Set the amount by which data has been scaled.
 
double get_scale () const
 Return the amount by which data has been scaled.
 
virtual void set_swap (bool _swap)
 Set true if frequency channels are out of order (band swappped)
 
bool get_swap () const
 Return true if frequency channels are out of order (band swappped)
 
virtual void set_nsub_swap (unsigned _nsub)
 Set the number of sub-bands that must be band swapped.
 
unsigned get_nsub_swap () const
 Return the number of sub-bands that must be band swapped.
 
virtual void set_dual_sideband (int _dual)
 Set to 1 if the spectrum in each channel has dual-sideband frequency order. More...
 
int get_dual_sideband () const
 Return the dual-sideband. More...
 
virtual void set_dc_centred (bool _centred)
 Set true if centre channel is centred on centre frequency. More...
 
bool get_dc_centred () const
 
virtual void set_identifier (const std::string &_id)
 Set the observation identifier.
 
std::string get_identifier () const
 Return the observation identifier.
 
virtual void set_machine (const std::string &_m)
 Set the instrument used to record signal.
 
std::string get_machine () const
 Return the instrument used to record signal.
 
virtual void set_format (const std::string &_f)
 Set the format used to record signal.
 
std::string get_format () const
 Return the format used to record signal.
 
virtual void set_dispersion_measure (double dm)
 Set the pulsar dispersion mesure.
 
double get_dispersion_measure () const
 Returns the pulsar dispersion measure.
 
virtual void set_rotation_measure (double rm)
 Set the pulsar rotation mesure.
 
double get_rotation_measure () const
 Returns the pulsar rotation measure.
 
virtual void set_mode (const std::string &_mode)
 Set the observation mode.
 
std::string get_mode () const
 Return the observation mode.
 
virtual void set_calfreq (double _calfreq)
 Set the calibrator frequency.
 
double get_calfreq () const
 get the calibrator frequency
 
virtual void set_oversampling_factor (const Rational &_osf)
 Set the oversampling factor.
 
const Rationalget_oversampling_factor () const
 Get the oversampling factor.
 
virtual void set_deripple (const std::vector< dsp::FIRFilter > &_deripple)
 
const std::vector< dsp::FIRFilter > & get_deripple () const
 
unsigned get_deripple_stages () const
 
virtual void set_pfb_dc_chan (const bool _pfb_dc_chan)
 set/get the DC PFB channel flag (for inverse filterbank)
 
bool get_pfb_dc_chan () const
 
virtual void set_pfb_nchan (unsigned nchan)
 set/get the number of channels output by the PFB per input channel
 
unsigned get_pfb_nchan () const
 
virtual void change_state (Signal::State new_state)
 Change the state and correct other attributes accordingly.
 
bool state_is_valid (std::string &reason) const
 Return true if the state of the Observation is valid. More...
 
bool get_detected () const
 Returns true if state is Detected, Coherence, or Stokes.
 
void change_start_time (int64_t _ndat)
 Change the start time by the number of time samples specified.
 
virtual MJD get_end_time () const
 Return the end time of the trailing edge of the last time sample.
 
uint64_t get_idat (const MJD &mjd)
 Return the nearest time sample corresponding to the specified MJD.
 
void rescale (double factor)
 Multiply scale by factor.
 
virtual uint64_t get_nbytes (uint64_t nsamples) const
 Return the size in bytes of nsamples time samples.
 
uint64_t get_nbytes () const
 Return the size in bytes of ndat time samples.
 
uint64_t verbose_nbytes (uint64_t nsamples) const
 
float get_nbyte () const
 Return the size in bytes of one time sample.
 
virtual uint64_t get_nsamples (uint64_t nbytes) const
 Return the number of samples in nbytes bytes.
 
void copy_dimensions (const Observation *)
 Copy the dimensions of another observation.
 
bool combinable (const Observation &obs) const
 Returns true if the signal may be integrated.
 
std::string get_reason ()
 Returns the reason if combinable returns false.
 
bool contiguous (const Observation &next) const
 Return true if the first sample of next follows the last sample of this.
 
void init ()
 Set all attributes to null default.
 
void set_nbyte_nsample_policy (NbyteNsamplePolicy *)
 Set the policy that defines the bijection between number of bytes and number of samples.
 
const NbyteNsamplePolicy * get_nbyte_nsample_policy () const
 Get the policy that defines the bijection between number of bytes and number of samples.
 
virtual TextInterface::Parserget_interface ()
 Return a text interface that can be used to access this instance.
 
- Public Member Functions inherited from OwnStream
 OwnStream (const OwnStream &)
 
const OwnStreamoperator= (const OwnStream &)
 
virtual void set_cout (std::ostream &) const
 
virtual void set_cerr (std::ostream &) const
 
- 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
 

Protected Attributes

std::vector< Reference::To< BitSeries > > bitseries
 
Reference::To< Memorymemory
 The memory manager.
 
- Protected Attributes inherited from dsp::Observation
std::string telescope
 Telescope name.
 
std::string receiver
 Receiver name.
 
std::string source
 Source name. If a pulsar, should be J2000.
 
double centre_frequency = 0.0
 Centre frequency of band-limited signal in MHz.
 
double bandwidth = 0.0
 Bandwidth of signal in MHz (-ve = lsb; +ve = usb)
 
Signal::Source type
 Type of signal source (Pulsar, CAL, etc.)
 
Signal::State state
 State of the signal (Full Stokes, Total Intensity, etc.)
 
Signal::Basis basis
 Type of receiver feeds (Linear or Circular)
 
double rate = 0.0
 Time samples per second in Hz.
 
MJD start_time
 Start time of the leading edge of the first time sample.
 
std::string identifier
 Observation identifier.
 
std::string mode
 Observation mode.
 
std::string machine
 Instrument used to record signal.
 
std::string format
 Data format used to record signal.
 
sky_coord coordinates
 Coordinates of the source.
 
double dispersion_measure = 0.0
 The dispersion measure to be archived.
 
double rotation_measure = 0.0
 The rotation measure to be archived.
 
bool require_equal_sources = true
 Require equal sources in combinable.
 
bool require_equal_rates = true
 Require equal rates in combinable.
 
double scale = 1.0
 Amount by which data has been scaled.
 
bool swap = false
 Flag set when frequency channels are out of order (band swappped)
 
unsigned nsub_swap = 0
 The number of sub-bands that must be band swapped.
 
bool dc_centred = false
 Flag set when centre channel is centred on centre frequency.
 
Rational oversampling_factor
 oversampling factor
 
std::vector< FIRFilter > deripple
 information about deripple correction
 
bool pfb_dc_chan = true
 Do we have the DC, or zeroth PFB channel?
 
unsigned pfb_nchan = 0
 Number of channels output by PFB for a single input time series. More...
 

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 ()
 
- Static Public Attributes inherited from dsp::Observation
static bool verbose = false
 Verbosity flag.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Detailed Description

Manages an array of BitSeries to be process in parallel.


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

Generated using doxygen 1.8.17