writes BitSeries data to a PSRFITS "search mode" file More...

#include <FITSOutputFile.h>

Inheritance diagram for dsp::FITSOutputFile:
dsp::OutputFile dsp::Sink< BitSeries > dsp::Operation dsp::HasInput< BitSeries > OwnStream Reference::Able Reference::HeapTracked

Public Member Functions

 FITSOutputFile (const char *filename=0)
 Construct and open file.
 
void set_reference_spectrum (FITSDigitizer *)
 Use Rescale callback to set reference spectrum.
 
void set_nsblk (unsigned nblk)
 Set the number of samples per output block.
 
void set_nbit (unsigned _nbit)
 Set the number of bits per output sample.
 
void set_atnf (bool)
 Set the output filename convention.
 
void set_upper_sideband_output (bool)
 Set the output to upper sideband.
 
void set_mangle_output (bool)
 Set output mangling.
 
void set_max_length (double)
 Set length of output file (seconds)
 
- Public Member Functions inherited from dsp::OutputFile
 OutputFile (const char *operation_name)
 Constructor.
 
virtual ~OutputFile ()
 Destructor.
 
- Public Member Functions inherited from dsp::Sink< BitSeries >
 Sink (const char *_name)
 All sub-classes must specify name and capacity for inplace operation.
 
 ~Sink ()
 Destructor.
 
void set_cerr (std::ostream &os) const
 Set verbosity ostream.
 
- 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 prepare ()
 Prepare for data operations. More...
 
virtual void reserve ()
 Reserve the maximum amount of memory required. 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
 
- 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 Member Functions inherited from dsp::HasInput< BitSeries >
virtual ~HasInput ()
 Destructor.
 
virtual void set_input (const BitSeries *_input)
 Set the container from which input data will be read.
 
const BitSeriesget_input () const
 Return pointer to the container from which input data will be read.
 
bool has_input () const
 Returns true if input is set.
 

Protected Member Functions

virtual void operation ()
 Need a custom implementation of operation to handle FITS I/O.
 
void write_header ()
 Write out all of the FITS extensions.
 
void finalize_fits ()
 Write metadata after data output and close fits file.
 
std::string get_extension () const
 Get the extension to be added to the end of new filenames.
 
virtual int64_t unload_bytes (const void *buffer, uint64_t bytes)
 Write nbyte bytes with cfitsio.
 
void write_bytes (int colnum, int isub, int offset, unsigned bytes_to_write, unsigned char **buffer)
 Interface to CFITSIO with error checking and bookkeeping.
 
- Protected Member Functions inherited from dsp::OutputFile
virtual void calculation ()
 Unload data into the BitSeries specified with set_output.
 
virtual void open_file (const char *filename)
 Open the file specified by filename for writing.
 
void open_file (const std::string &name)
 Convenience wrapper.
 
- 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
 

Protected Attributes

unsigned nsblk
 samples per block (FITS row)
 
unsigned nbblk
 bytes per block
 
double tblk
 time per block
 
unsigned nbit
 bits per sample
 
unsigned npol
 convenience store npol
 
unsigned nchan
 convenience store channel nuumber
 
double max_length
 maximum length of output file
 
std::vector< float > dat_wts
 buffer for channels weights
 
std::vector< float > dat_scl
 buffer for channel scales
 
std::vector< float > dat_offs
 buffer for channel offsets
 
std::vector< double > dat_freq
 buffer for channel frequencies
 
fitsfile * fptr
 FITS file handle.
 
unsigned isub
 current subint
 
- Protected Attributes inherited from dsp::OutputFile
int fd
 The file descriptor.
 
int header_bytes
 The size of the header in bytes.
 
std::string output_filename
 The name of the output file.
 
std::string datestr_pattern
 The pattern used to create an output filename.
 
- 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.
 
- Protected Attributes inherited from dsp::HasInput< BitSeries >
Reference::To< const BitSeriesinput
 Container from which input data will be read.
 

Additional Inherited Members

- Public Types inherited from dsp::Operation
enum  Function { Producer, Procedural, Structural }
 The function of the operator. More...
 
- 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...
 

Detailed Description

writes BitSeries data to a PSRFITS "search mode" file


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

Generated using doxygen 1.8.17