|
| PuMa2_Observation (const char *header) |
| Construct from a PuMa2 ASCII header block.
|
|
| ASCIIObservation (const char *header=0) |
| Construct from an ASCII header block.
|
|
| ASCIIObservation (const Observation *) |
| Construct from an Observation.
|
|
ASCIIObservation * | clone () const override |
| Cloner (calls new)
|
|
void | load (const char *header) |
| Read the ASCII header block.
|
|
void | unload (char *header) |
| Write an ASCII header block.
|
|
uint64_t | get_offset_bytes () const |
| Get the number of bytes offset from the beginning of acquisition.
|
|
void | set_required (std::string key, bool required=true) |
| Set/unset a required keyword.
|
|
bool | is_required (std::string key) |
| Check if a certain keyword is required.
|
|
template<typename T > |
int | custom_header_get (std::string key, const char *format, T result) const |
|
const char * | get_header () const |
| Return the immutable ASCII header from which this was constructed.
|
|
char * | get_header () |
| Return the mutable ASCII header from which this was constructed.
|
|
| Observation () |
| Null constructor.
|
|
| Observation (const Observation &) |
| Copy constructor.
|
|
| Observation (const Observation *) |
| Copy from pointer constructor.
|
|
const Observation & | operator= (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 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 Rational & | get_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::Parser * | get_interface () |
| Return a text interface that can be used to access this instance.
|
|
| OwnStream (const OwnStream &) |
|
const OwnStream & | operator= (const OwnStream &) |
|
virtual void | set_cout (std::ostream &) const |
|
virtual void | set_cerr (std::ostream &) const |
|
| Able (const Able &) |
|
Able & | operator= (const Able &) |
|
unsigned | get_reference_count () const |
|
| HeapTracked (const HeapTracked &) |
|
HeapTracked & | operator= (const HeapTracked &) |
|
bool | __is_on_heap () const |
|
|
static size_t | get_instance_count () |
|
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 bool | verbose = false |
| Verbosity flag.
|
|
template<typename T > |
int | ascii_header_check (const char *header, std::string key, const char *format, T result) |
| Load a keyword, only throw an error if it's required and doesn't exist.
|
|
template<typename T > |
void | load_str_into_array (std::string from, T *buffer, unsigned bufsize) |
|
Handle * | __reference (bool active) const |
|
void | __dereference (bool auto_delete=true) const |
|
std::string | hdr_version |
|
std::vector< std::string > | required_keys |
| The list of ASCII keywords that must be present.
|
|
uint64_t | offset_bytes |
| Number of bytes offset from the beginning of acquisition.
|
|
std::string | loaded_header |
|
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...
|
|
General means of constructing Observation attributes from PuMa2 data.
This class parses the ASCII header block used for PuMa2 data and initializes all of the attributes of the Observation base class. The header block may come from a PuMa2 data file, or from the shared memory (data block) of the machines in the PuMa2 cluster.