Base class of objects that Shape data in the time or frequency domain. More...

#include <Shape.h>

Inheritance diagram for dsp::Shape:
OwnStream Reference::Able Reference::HeapTracked dsp::Apodization dsp::Response dsp::ResponseProduct dsp::RFIFilter dsp::ScalarFilter

Public Member Functions

 Shape ()
 Default constructor.
 
virtual ~Shape ()
 Destructor.
 
 Shape (const Shape &)
 Copy constructor.
 
const Shapeoperator= (const Shape &)
 Assignment operator.
 
virtual void resize (unsigned npol, unsigned nchan, unsigned ndat, unsigned ndim)
 Set the dimensions of the data.
 
unsigned get_npol () const
 Get the number of polarizations.
 
unsigned get_nchan () const
 Get the number of frequency channels.
 
unsigned get_ndat () const
 Get the number of datum in each of the nchan*npol divisions.
 
unsigned get_ndim () const
 Get the dimension of each datum (e.g. 2=complex 8=Jones)
 
virtual bool matches (const Shape *shape)
 Returns true if the npol, nchan, and ndat dimensions match.
 
void scrunch_to (unsigned ndat)
 Scrunch each dimension to a new ndat.
 
void rotate (int npt)
 Rotate data so that Shape[i] = Shape[i+npt].
 
void zero ()
 Set all values to zero.
 
void zero_dimensions ()
 Set all dimnensions to zero; allocated memory unaffected.
 
void borrow (const Shape &, unsigned ichan=0)
 Borrow the data from the specified channel of another Shape.
 
const Shapeoperator/= (float factor)
 Divide each point by factor.
 
const Shapeoperator*= (float factor)
 Multiply each point by factor.
 
const Shapeoperator+= (const Shape &)
 Add another Shape to this one.
 
float * get_datptr (unsigned ichan, unsigned ipol)
 Provide access to the data for the specified polarization.
 
const float * get_datptr (unsigned ichan, unsigned ipol) const
 Provide access to the data for the specified polarization.
 
- 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
 

Static Public Attributes

static bool verbose = false
 

Protected Member Functions

void init ()
 
void size_dataspace ()
 
void destroy ()
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Protected Attributes

float * buffer
 Data points.
 
unsigned bufsize
 Size of the data buffer.
 
unsigned offset
 Offset between datum from each polarization.
 
unsigned npol
 Number of polarizations.
 
unsigned nchan
 Number of frequency divisions (channels)
 
unsigned ndat
 Number of datum in each of the npol*nchan divisions.
 
unsigned ndim
 Dimension of each datum.
 
bool borrowed
 Flag that data are borrowed from another Shape.
 

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 ()
 

Detailed Description

Base class of objects that Shape data in the time or frequency domain.


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

Generated using doxygen 1.8.17