Loads BitSeries data from a MkV file. More...

#include <GMRTFile.h>

Inheritance diagram for dsp::GMRTFile:
dsp::BlockFile dsp::File dsp::Seekable dsp::Input dsp::Operation OwnStream Reference::Able Reference::HeapTracked

Public Member Functions

 GMRTFile (const char *filename=0, const char *headername=0)
 Construct and open file

 
 ~GMRTFile ()
 Destructor.
 
bool is_valid (const char *filename) const
 Returns true if filename is a valid Mk5 file.
 
- Public Member Functions inherited from dsp::BlockFile
 BlockFile (const char *name)
 Constructor.
 
virtual ~BlockFile ()
 Virtual destructor. More...
 
uint64_t get_block_data_bytes () const
 Get the number of data bytes per block (frame)
 
- Public Member Functions inherited from dsp::File
 File (const char *name)
 Constructor.
 
virtual ~File ()
 Destructor. More...
 
virtual void open (const char *filename)
 Open the file.
 
void open (const std::string &filename)
 Convenience interface to File::open (const char*)
 
virtual void close ()
 Close the file.
 
virtual void reopen ()
 Reopen the file.
 
std::string get_filename () const
 Return the name of the file from which this instance was created.
 
std::string get_current_filename () const
 
virtual std::string get_data_filename () const
 For when the data file is not the current filename.
 
int get_header_bytes () const
 Inquire how many bytes are in the header.
 
virtual bool contiguous (const File *that) const
 Return true this this is contiguous with that.
 
- Public Member Functions inherited from dsp::Seekable
 Seekable (const char *name)
 Constructor.
 
virtual ~Seekable ()
 Destructor. More...
 
virtual bool eod () const
 Return true when end of data has been reached.
 
virtual void rewind ()
 Rewind to the start of the data.
 
virtual uint64_t get_current_sample ()
 Inquire current time sample.
 
void set_output (BitSeries *data)
 Set the bits series into which data will be loaded.
 
void set_overlap_buffer (BitSeries *)
 Buffer used to store overlap (useful in multi-threaded applications)
 
void set_overlap_buffer_memory (Memory *memory)
 Set the memory type used in the overlap buffer.
 
- Public Member Functions inherited from dsp::Input
 Input (const char *name)
 Constructor.
 
virtual ~Input ()
 Destructor.
 
virtual const Inputget_origin () const
 The origin of the data may be re-implemented by wrappers like SerialFiles.
 
virtual void copy (const Input *input)
 Copies the behaviour and information attributes (not data) More...
 
void prepare ()
 Prepare the output with the attributes of the data source.
 
void reserve ()
 Reserve the maximum amount of output space required.
 
void reserve (BitSeries *)
 Reserve the maximum amount of space required in the given container.
 
virtual void restart ()
 Return to the start of data, if possible.
 
void load (BitSeries *data)
 Load BitSeries data. More...
 
virtual BitSeriesget_output ()
 Retrieve a pointer to the output. More...
 
virtual bool has_output () const
 Return true if output is set.
 
virtual void seek (int64_t offset, int whence=0)
 Seek to the specified time sample. More...
 
uint64_t tell () const
 Return the first time sample to be read on the next call to operate.
 
virtual void seek (const MJD &mjd)
 Seek to a sample close to the specified MJD.
 
virtual uint64_t get_block_size () const
 Return the number of time samples to load on each load_block.
 
virtual void set_block_size (uint64_t _size)
 Set the number of time samples to load on each load_block. More...
 
virtual uint64_t get_overlap () const
 Return the number of time samples by which consecutive blocks overlap.
 
virtual void set_overlap (uint64_t _overlap)
 Set the number of time samples by which consecutive blocks overlap.
 
virtual uint64_t get_stride () const
 Convenience function for returning block_size-overlap.
 
virtual uint64_t get_total_samples () const
 Return the total number of time samples available.
 
void set_total_samples (uint64_t s)
 Set the total number of time samples available. More...
 
 operator const Observation * () const
 Get the information about the data source.
 
virtual Observationget_info ()
 Get the information about the data source.
 
virtual const Observationget_info () const
 Get the information about the data source.
 
uint64_t get_load_sample () const
 Get the next time sample to be loaded.
 
uint64_t get_load_size () const
 Get the number of samples to be loaded.
 
unsigned get_resolution () const
 Get the time sample resolution of the data source.
 
void set_resolution (unsigned res)
 Set the time sample resolution of the data source (use with care)
 
void seek_seconds (double seconds, int whence=0)
 Convenience method used to seek in units of seconds.
 
double tell_seconds () const
 Convenience method used to report the offset in seconds.
 
void set_start_seconds (double seconds)
 Set the start of observation offset in units of seconds.
 
void set_total_seconds (double seconds)
 Convenience method used to set the number of seconds.
 
void set_context (ThreadContext *context)
 In multi-threaded programs, a mutual exclusion and a condition.
 
bool has_context () const
 Return true if the thread context has been set.
 
virtual std::string get_prefix () const
 Input derived types may specify a prefix to be added to output files.
 
- Public Member Functions inherited from dsp::Operation
 Operation (const char *name)
 All sub-classes must specify a unique name. More...
 
 Operation (const Operation &)
 Copy constructor.
 
virtual ~Operation ()
 Virtual destructor.
 
virtual bool operate ()
 Call this method to operate on data Returns false on failure. More...
 
virtual void add_extensions (Extensions *)
 Add any extensions.
 
virtual void combine (const Operation *)
 Combine accumulated results with another operation. More...
 
virtual void report () const
 Report operation statistics.
 
virtual void reset ()
 Reset accumulated results to intial values. More...
 
std::string get_name () const
 Return the unique name of this operation.
 
double get_total_time () const
 Return the total time spent on this Operation in seconds.
 
double get_elapsed_time () const
 Get the time spent in the last invocation of operate()
 
virtual uint64_t get_total_weights () const
 Return the total number of timesample weights encountered. More...
 
virtual uint64_t get_discarded_weights () const
 Return the number of invalid timesample weights encountered.
 
int get_id ()
 Inquire the unique instantiation id.
 
virtual Function get_function () const
 Get the function classification of this operation.
 
virtual double get_delay_time () const
 Get the time delay of this operation, if any, in seconds.
 
virtual void set_scratch (Scratch *)
 Set the scratch space.
 
bool scratch_was_set () const
 
virtual uint64_t bytes_storage () const
 The number of bytes of additional storage used by the operation.
 
virtual uint64_t bytes_scratch () const
 The number of bytes of scratch space used by the operation. More...
 
- 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 Member Functions

void open_file (const char *filename)
 Open the file.
 
uint64_t skip_extra ()
 Skip (by seeking the file pointer) the next tailer and header. More...
 
- Protected Member Functions inherited from dsp::BlockFile
virtual int64_t fstat_file_ndat (uint64_t tailer_bytes=0)
 Return ndat given the file and header sizes, nchan, npol, and ndim. More...
 
virtual int64_t load_bytes (unsigned char *buffer, uint64_t nbytes)
 Load nbyte bytes of sampled data from the device into buffer. More...
 
virtual int64_t seek_bytes (uint64_t bytes)
 Set the file pointer to the absolute number of sampled data bytes. More...
 
- Protected Member Functions inherited from dsp::File
virtual int64_t pad_bytes (unsigned char *buffer, int64_t bytes)
 Over-ride this function to pad data via HoleyFile.
 
virtual int64_t load_bytes_device (unsigned char *buffer, uint64_t bytes, void *device_handle)
 The file descriptor.
 
virtual void set_total_samples ()
 Calculates the total number of samples in the file, based on its size.
 
virtual void open_fd (const std::string &filename)
 Utility opens the file descriptor.
 
- Protected Member Functions inherited from dsp::Seekable
virtual void set_eod (bool _eod)
 set end_of_data
 
virtual void load_data (BitSeries *data)
 Load next block of data into BitSeries.
 
virtual uint64_t recycle_data (BitSeries *data)
 Conserve access to resources by re-using data already in BitSeries. More...
 
void init ()
 initialize variables
 
- Protected Member Functions inherited from dsp::Input
virtual void operation ()
 Load data into the BitSeries specified with set_output. More...
 
virtual void mark_output ()
 Mark the output BitSeries with sequence informatin.
 
- Protected Member Functions inherited from dsp::Operation
virtual bool can_operate ()
 Return false if the operation doesn't have enough data to proceed.
 
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.
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Additional Inherited Members

- Public Types inherited from dsp::File
typedef Registry::List< FileRegister
 typedef used to simplify template syntax in File_registry.C
 
- Public Types inherited from dsp::Input
typedef BitSeries OutputType
 
- Public Types inherited from dsp::Operation
enum  Function { Producer, Procedural, Structural }
 The function of the operator. More...
 
- Static Public Member Functions inherited from dsp::File
static Filecreate (const char *filename)
 Return a pointer to a new instance of the appropriate sub-class. More...
 
static Filecreate (const std::string &filename)
 Convenience interface to File::create (const char*)
 
- 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::Operation
static bool record_time = false
 Global flag enables stopwatch to record the time spent operating. More...
 
static bool report_time = true
 Global flag enables report of time spent in operation on descruction. More...
 
static bool verbose = false
 Global verbosity flag.
 
static int operation_status = 0
 Operations can set this to non-zero in operation() if they fail.
 
static bool check_state = true
 Operations should perform internal consistency checks.
 
static int instantiation_count = 0
 Counts how many Operation instantiations there have been Used for setting the unique instantiation ID. More...
 
- Static Protected Member Functions inherited from dsp::File
static Registerget_register ()
 Return the list of registered sub-classes.
 
- Protected Attributes inherited from dsp::BlockFile
uint64_t block_bytes
 Total number of bytes in each block (header + data + tailer)
 
uint64_t block_header_bytes
 Number of bytes in header of each block.
 
uint64_t block_tailer_bytes
 Number of bytes in tailer of each block.
 
uint64_t current_block_byte
 The current byte within a block.
 
uint64_t total_bytes_missing
 Total number of missing bytes to be zeroed with memset.
 
- Protected Attributes inherited from dsp::File
int fd
 The file descriptor.
 
int header_bytes
 The size of the header in bytes.
 
std::string current_filename
 The name of the currently opened file, set by open()
 
void * host_buffer = nullptr
 staging buffer for Host to Device transfers
 
uint64_t host_buffer_size = 0
 The size of the host_buffer in bytes.
 
- Protected Attributes inherited from dsp::Seekable
bool end_of_data
 end of data reached
 
uint64_t current_sample
 Current time sample.
 
Reference::To< BitSeriesoverlap_buffer
 Buffer used to store overlap.
 
- Protected Attributes inherited from dsp::Input
Reference::To< BitSeriesoutput
 The BitSeries to which data will be loaded on next call to operate.
 
Reference::To< Observationinfo
 Information about the data source (passed on to BitSeries in load)
 
unsigned resolution
 Time sample resolution of the data source. More...
 
uint64_t last_load_ndat
 The ndat of the BitSeries last loaded Used by Seekable::recycle_data() and set by load()
 
std::string real_source
 If not "" then the source of the output gets changed to this after loading [""].
 
- Protected Attributes inherited from dsp::Operation
Scratchscratch
 Shared scratch space, if needed.
 
bool set_scratch_called
 
std::string name
 Operation name.
 
uint64_t discarded_weights
 Number of time sample weights encountered that are flagged invalid.
 
uint64_t total_weights
 Total number of time sample weights encountered.
 
RealTimer optime
 Stop watch records the amount of time spent performing this operation.
 
int id
 Unique instantiation id.
 
bool prepared
 Set true when preparation optimizations are completed.
 

Detailed Description

Loads BitSeries data from a MkV file.

Member Function Documentation

◆ skip_extra()

uint64_t dsp::GMRTFile::skip_extra ( )
protectedvirtual

Skip (by seeking the file pointer) the next tailer and header.

Optionally return the number of missing blocks; otherwise return zero or throw an exception on error.

Derived types should calculate and return number of missed packets

Reimplemented from dsp::BlockFile.


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

Generated using doxygen 1.8.17