Manager of variable transformations. More...

#include <ConfigurableProjection.h>

Inheritance diagram for Pulsar::ConfigurableProjection:
Pulsar::VariableTransformationManager Reference::Able Reference::HeapTracked

Classes

class  Info
 Communicates ConfigurableProjection parameters to plotting routines. More...

Public Member Functions

 ConfigurableProjection (const std::string &filename)
 Construct from a configuration file.
 ConfigurableProjection (const ConfigurableProjectionExtension *)
 Construct from a ConfigurableProjectionExtension.
void construct (const std::string &)
 Construct from a configuration string.
void set_archive (const Archive *_archive)
 Set the Archive for which a tranformation will be computed.
void set_subint (unsigned _subint)
 Set the sub-integration for which a tranformation will be computed.
void set_chan (unsigned _chan)
 Set the frequency channel for which a tranformation will be computed.
void set_nchan (unsigned nchan) override
 Set the number of frequency channels with a unique Transformation.
Transformation * get_transformation (unsigned ichan) override
 Return the Transformation for the specified channel.
MEAL::Argument::Valuenew_value () override
 Return a newly constructed Argument::Value for the current archive / subint / chan.
const Transformation * get_transformation (unsigned ichan) const
 Return the Transformation instance for the specified channel.
bool get_transformation_valid (unsigned ichan) const
 Return true if the speficied channel has a valid solution.
unsigned get_nchan () const
 Get the number of frequency channels.
unsigned get_ndim () const
 Get the number of abscissa / dimensions that describe the variability.
double get_value (const std::string &name)
 Return the value associated with the parameter name.
const std::vector< std::string > & get_abscissa_names (unsigned index)
 Return the attribute names for each abscissa of the function constraining the specified index.
const std::string & get_configuration () const
 Get the configuration text from which this instance was constructed.
void calibrate (Archive *)
 Calibrate an observation.
void transform (Archive *)
 Subject an observation to the transformation (inverse of calibration)
void set_projection (KnownVariableTransformation *known)
 Set the projection from the antenna to the celestial reference frame.
KnownVariableTransformationget_projection ()
 Get the projection from the antenna to the celestial reference frame.
Public Member Functions inherited from Pulsar::VariableTransformationManager
 VariableTransformationManager ()
 Default constructor.
virtual void update ()
 Update the tranformation for the current archive / subint / chan.
virtual std::string get_description () const
 Get the description of the transformation.
virtual bool required () const
 Return true if the transformation is required.
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 transform_work (Archive *arch, const std::string &name, bool invert)
 Performs the work for calibrate and transform.
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
void __dereference (bool auto_delete=true) const

Protected Attributes

std::string configuration
 Configuration string.
Reference::To< KnownVariableTransformationprojection
 Known/fixed projection correction.
Reference::To< Calibration::VariableTransformationtransformation
 Model inserted between instrument and projection.
std::map< unsigned, std::vector< std::string > > parameters
 Names of Archive attributes assigned to each abscissa/dimension.
std::vector< Reference::To< Transformation > > xforms
unsigned effective_ndim = 0
 The effective number of dimensions / abscissa.
Protected Attributes inherited from Pulsar::VariableTransformationManager
Reference::To< const Archive, false > archive
unsigned subint
unsigned chan
std::string description
bool built

Additional Inherited Members

Public Types inherited from Pulsar::VariableTransformationManager
typedef MEAL::Variable< MEAL::Complex2Transformation
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

Manager of variable transformations.

Member Function Documentation

◆ calibrate()

void Pulsar::ConfigurableProjection::calibrate ( Archive * arch)

Calibrate an observation.

Precondition
The backend should be fully corrected and calibrated, and the basis should be corrected

References transform_work().

◆ get_transformation()

ConfigurableProjection::Transformation * ConfigurableProjection::get_transformation ( unsigned ichan)
overridevirtual

◆ new_value()

MEAL::Argument::Value * ConfigurableProjection::new_value ( )
overridevirtual

Return a newly constructed Argument::Value for the current archive / subint / chan.

Implements Pulsar::VariableTransformationManager.

References get_value(), Jones< typename T >::identity(), parameters, projection, and Pulsar::IntegrationManager::verbose.

◆ set_archive()

void ConfigurableProjection::set_archive ( const Archive * _archive)
virtual

Set the Archive for which a tranformation will be computed.

Reimplemented from Pulsar::VariableTransformationManager.

References projection, and Pulsar::VariableTransformationManager::set_archive().

Referenced by transform_work().

◆ set_chan()

void ConfigurableProjection::set_chan ( unsigned _chan)
virtual

Set the frequency channel for which a tranformation will be computed.

Reimplemented from Pulsar::VariableTransformationManager.

References projection, and Pulsar::VariableTransformationManager::set_chan().

Referenced by transform_work().

◆ set_nchan()

void ConfigurableProjection::set_nchan ( unsigned nchan)
overridevirtual

Set the number of frequency channels with a unique Transformation.

Implements Pulsar::VariableTransformationManager.

Referenced by ConfigurableProjection().

◆ set_subint()

void ConfigurableProjection::set_subint ( unsigned _subint)
virtual

Set the sub-integration for which a tranformation will be computed.

Reimplemented from Pulsar::VariableTransformationManager.

References projection, and Pulsar::VariableTransformationManager::set_subint().

Referenced by transform_work().

Member Data Documentation

◆ transformation

Reference::To< Calibration::VariableTransformation > Pulsar::ConfigurableProjection::transformation
protected

Model inserted between instrument and projection.

This attribute is cloned in each new Transformation

Referenced by ConfigurableProjection(), construct(), Pulsar::ConfigurableProjection::Info::get_param(), get_transformation(), and Pulsar::ConfigurableProjection::Info::Info().


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

Generated using doxygen 1.14.0