Pulsar::IntegrationOrder Class Referenceabstract

Alternative ways of ordering Integration instances. More...

#include <IntegrationOrder.h>

Inheritance diagram for Pulsar::IntegrationOrder:
Pulsar::Archive::Extension Reference::Able Reference::HeapTracked Pulsar::BinaryPhaseOrder Pulsar::BinLngAscOrder Pulsar::BinLngPeriOrder Pulsar::PeriastronOrder

Public Member Functions

 IntegrationOrder (const char *name)
 Default constructor.
 
 IntegrationOrder (const IntegrationOrder &extension)
 Copy constructor.
 
const IntegrationOrderoperator= (const IntegrationOrder &extension)
 Operator =.
 
virtual ~IntegrationOrder ()
 Destructor.
 
virtual IntegrationOrderclone () const =0
 Clone method.
 
std::string get_IndexState () const
 Return a string describing the type of indexing used.
 
std::string get_Unit () const
 Return a string describing the units of this state.
 
unsigned size () const
 Return the size of the index array.
 
void resize (unsigned nsubint, unsigned npol=0, unsigned nchan=0, unsigned nbin=0)
 Change the size of the index array.
 
void erase (unsigned i)
 Erase the specified index.
 
void set_Index (unsigned subint, double i)
 Set the custom index value associated with an Integration.
 
double get_Index (unsigned subint) const
 Get the custom index value associated with an Integration.
 
virtual void organise (Archive *, unsigned)=0
 Re-order the Integrations into the desired state.
 
virtual void append (Archive *, const Archive *)=0
 Add two Archive instances that have the same IntegrationOrder.
 
virtual void combine (Archive *, unsigned)=0
 
std::string get_short_name () const
 Return a short name.
 
- Public Member Functions inherited from Pulsar::Archive::Extension
 Extension (const char *name)
 Construct with a name.
 
virtual ~Extension ()
 Destructor.
 
virtual TextInterface::Parserget_interface ()
 Return a text interface that can be used to access this instance.
 
std::string get_extension_name () const
 Return the name of the Extension.
 
virtual bool has_data () const
 Returns true if the Extension contains useful data.
 
virtual void frequency_append (Archive *to, const Archive *from)
 Append data along frequency dimension, if applicable.
 
- 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::string IndexState
 An index state identifier string.
 
std::string Unit
 The units (if any) of this state.
 
std::vector< double > indices
 Storage for the actual Integration indices.
 
- Protected Attributes inherited from Pulsar::Archive::Extension
std::string extension_name
 Extension name - useful when debugging.
 

Additional Inherited Members

- Static Public Member Functions inherited from Pulsar::Archive::Extension
static Extensionfactory (const std::string &name)
 Derived type factory.
 
- 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 ()
 
- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 

Detailed Description

Alternative ways of ordering Integration instances.

This class provides a means for developers to re-index the way Integrations are stored. It is a virtual base class that must be inherited by developers who wish to define a new way to index the Integrations in their Archive

Member Function Documentation

◆ combine()

virtual void Pulsar::IntegrationOrder::combine ( Archive ,
unsigned   
)
pure virtual

Scrunch together this many consecutive Integrations in an Archive with this IntegrationOrder

Implemented in Pulsar::BinaryPhaseOrder, Pulsar::BinLngAscOrder, Pulsar::BinLngPeriOrder, and Pulsar::PeriastronOrder.

Referenced by Pulsar::TimeIntegrate::transform().


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

Generated using doxygen 1.8.17