Pulsar::SystemCalibratorManager Class Reference

Manages multiple sources and a common model. More...

#include <SystemCalibratorManager.h>

Inheritance diagram for Pulsar::SystemCalibratorManager:
Reference::Able Reference::HeapTracked

Public Member Functions

 SystemCalibratorManager ()
 Default constructor.
void manage (SystemCalibrator *)
 Add to the array of system calibrators.
SystemCalibratorget_calibrator (unsigned i)
 Return the ith managed system calibrator.
unsigned get_ncalibrator ()
 Return the number of managed system calibrators.
SystemCalibratorget_calibrator (const Archive *)
 Return the system calibrator that matches the data.
SystemCalibratorget_model ()
 Return the fiducial system calibrator.
void solve ()
 Solve the entire system of calibrators.
virtual void preprocess (Archive *data)
 Prepare the data for inclusion in the model.
virtual void add_observation (const Archive *data)
 Add the observation to the set of constraints.
virtual void precalibrate (Archive *archive)
 Pre-calibrate the polarization of the given archive.
void set_fscrunch_data_to_model (bool f)
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 setup_sharing (SystemCalibrator *model)
 Setup information sharing between system calibrator instances.
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
void __dereference (bool auto_delete=true) const

Protected Attributes

std::vector< Reference::To< SystemCalibrator > > calibrator
 The system calibrators.
bool fscrunch_data_to_model = false
 If needed, frequency integrate data to same resolution as model.
bool sharing_setup = false
 Delay setting up sharing in case first data does not match first model.

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

Manages multiple sources and a common model.

Each SystemCalibrator manages input data from a single pulsar. This class manages input data from multiple pulsars using multiple SystemCalibrator instances that share a common SignalPath (for each frequency channel).

The first SystemCalibrator instance to have pulsar observations (data) added successfully added to it becomes the fiducial model that is partnered with all other SystemCalibrator instances.

Member Function Documentation

◆ precalibrate()

void SystemCalibratorManager::precalibrate ( Archive * archive)
virtual

Pre-calibrate the polarization of the given archive.

Calibrate the the given archive using the current state of the model.

References get_calibrator(), get_model(), Pulsar::SystemCalibrator::get_nchan(), Pulsar::SystemCalibrator::get_valid(), Pulsar::SystemCalibrator::precalibrate(), and Pulsar::IntegrationManager::verbose.

◆ setup_sharing()

void SystemCalibratorManager::setup_sharing ( SystemCalibrator * model)
protected

Setup information sharing between system calibrator instances.

Parameters
modelcandidate fiducial model to be partnered with all other models

References calibrator, Pulsar::SystemCalibrator::get_name(), Pulsar::SystemCalibrator::get_nchan(), sharing_setup, and Pulsar::IntegrationManager::verbose.

Referenced by add_observation().


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

Generated using doxygen 1.14.0