Calibrates flux using standard candles and artificial sources. More...

#include <FluxCalibrator.h>

Inheritance diagram for Pulsar::FluxCalibrator:
Pulsar::Calibrator Reference::Able Reference::HeapTracked

Classes

class  ConstantGain
 Used when gain remains constant between FluxCal-On and Off observations. More...
class  Info
 FluxCalibrator parameter communication. More...
class  Policy
 Flux calibration data for each receptor. More...
class  VariableGain
 Used when gain varies between FluxCal-On and Off observations. More...

Public Member Functions

 FluxCalibrator (const Archive *archive=0)
 Default constructor.
 ~FluxCalibrator ()
 Destructor.
void set_policy (Policy *)
 Set the policy used to perform flux calibration.
Calibrator::Infoget_Info () const
 Return the FluxCalibrator information.
CalibratorExtensionnew_Extension () const
 Return a new FluxCalibratorExtension.
std::string get_standard_candle_info () const
 Return information about the standard candle used.
double meanTsys () const
 Return the system temperature in Kelvin.
double Tsys (unsigned ichan) const
 Return the system temperature of a specific channel.
const CalibratorStokesget_CalibratorStokes () const
 Return an estimate of the artificial cal Stokes parameters.
void add_observation (const Archive *archive)
 Add a FluxCal Pulsar::Archive to the set of constraints.
void set_database (const StandardCandles *database)
 Set the database containing flux calibrator information.
void set_outlier_threshold (float f)
 Set the threshold used to reject outliers when computing levels.
float get_outlier_threshold () const
 Get the threshold used to reject outliers when computing levels.
void calibrate (Archive *archive)
 Calibrate the flux in the given archive.
unsigned get_nchan () const
 Get the number of frequency channels in the calibrator.
unsigned get_nreceptor () const
 Get the number of receptors in the calibrator.
bool get_valid (unsigned ch) const
 Return true if the flux scale for the specified channel is valid.
float get_weight (unsigned ichan) const
 Return the weight (0 or 1) associated with the specified channel.
void set_invalid (unsigned ch)
 Set the flux scale invalid flag for the specified channel.
void print (std::ostream &os=std::cout) const
 Print all the fluxcal info.
bool complete () const
 Check whether both on and off are present.
void calibration_setup (const Archive *archive)
 Setup to calibrate the flux in the given archive.
Public Member Functions inherited from Pulsar::Calibrator
 Calibrator ()
 Default constructor.
virtual ~Calibrator ()
 Destructor.
virtual const Typeget_type () const
 Return the Calibrator::Type of derived class.
Archivenew_solution (const std::string &archive_class) const
 Return a new processed calibrator Archive with a CalibratorExtension.
virtual MJD get_epoch () const
 Return the reference epoch of the calibration experiment.
virtual std::string get_filenames () const
 Return a string containing the file information.
const Archiveget_Archive () const
 Return a const reference to the calibrator archive.
bool has_Archive () const
 Return true if the calibrator is constructed from an Archive.
template<class T>
bool is_a () 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

Protected Member Functions

void create (unsigned nchan=0)
 Create the cal_flux spectrum at the requested resolution.
void calibrate (Integration *subint)
 Calibrate a single sub-integration.
void data_range_check (unsigned ichan, const char *method) const
 Check on data range and validity.
void resize (unsigned nchan, unsigned nreceptor)
 Resize the data vector.
void resize (unsigned required_nchan)
 Resize the gain vector.
Protected Member Functions inherited from Pulsar::Calibrator
void copy_variation (Calibrator *)
void set_variation (Variation *var)
const Archiveget_calibrator () const
 Provide derived classes with access to the calibrator.
Archiveget_calibrator ()
 Provide derived classes with mutable access to the calibrator.
virtual void set_calibrator (const Archive *archive)
 Provide derived classes with access to the calibrator.
bool has_calibrator () const
 Return true if the calibrator attribute has been set.
Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
void __dereference (bool auto_delete=true) const

Protected Attributes

Reference::To< const StandardCandles > database
 Flux calibrator database.
Reference::To< const FluxCalibratorExtensionflux_extension
 Flux calibrator extension.
std::vector< Reference::To< Policy > > data
 Flux calibrator data for each frequency channel.
std::vector< float > gain
 The absolute gain used to calibrate the archive data.
Reference::To< Policypolicy
 The policy used to peform flux calibration.
Protected Attributes inherited from Pulsar::Calibrator
Reference::To< Typetype
 The type of the Calibrator.
Reference::To< Variationvariation
 Updates model parameters.
Reference::To< const CalibratorExtensionextension
 The CalibratorExtension of the Archive passed during construction.
std::vector< std::string > filenames
 Filenames of Pulsar::Archives from which instance was created.

Friends

class FluxCalibratorExtension
class ConstantGainInfo
class Info

Additional Inherited Members

Static Public Member Functions inherited from Pulsar::Calibrator
static unsigned get_instance_count ()
 Returns the number of Calibrator instances currently in existence.
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 Pulsar::Calibrator
static unsigned verbose = 0
 Verbosity level.
static Pulsar::Option< float > median_smoothing
 Fractional bandwidth of the window used in median filter.
static Pulsar::Option< float > interpolating
 Fractional bandwidth over which interpolation will be performed.
static Pulsar::Option< float > det_threshold
 Tolerance to non-physical values of the coherency matrix.

Detailed Description

Calibrates flux using standard candles and artificial sources.

Constructor & Destructor Documentation

◆ FluxCalibrator()

Pulsar::FluxCalibrator::FluxCalibrator ( const Archive * archive = 0)

Member Function Documentation

◆ calibrate()

void Pulsar::FluxCalibrator::calibrate ( Archive * archive)
virtual

◆ calibration_setup()

◆ get_CalibratorStokes()

const Pulsar::CalibratorStokes * Pulsar::FluxCalibrator::get_CalibratorStokes ( ) const

Return an estimate of the artificial cal Stokes parameters.

This method uses the flux cal measurement to determine the intrinsic Stokes parameters of the artifical cal source (reference source). This is based on the assumptions that the standard candle is unpolarized, and that the reference source signal is 100% correlated in each receptor with zero phase, but may have unequal power in the two sides.

References data, FluxCalibrator(), Pulsar::Calibrator::get_Archive(), Pulsar::Receiver::get_hand(), get_nchan(), get_nreceptor(), Pulsar::Receiver::get_reference_source_phase(), get_valid(), and Pulsar::CalibratorStokes::set_nchan().

◆ get_Info()

Pulsar::Calibrator::Info * Pulsar::FluxCalibrator::get_Info ( ) const
virtual

Return the FluxCalibrator information.

Reimplemented from Pulsar::Calibrator.

References FluxCalibrator().

◆ get_nchan()

unsigned Pulsar::FluxCalibrator::get_nchan ( ) const
virtual

Get the number of frequency channels in the calibrator.

Implements Pulsar::Calibrator.

References data, and flux_extension.

Referenced by get_CalibratorStokes(), and print().

◆ get_nreceptor()

◆ get_weight()

float Pulsar::FluxCalibrator::get_weight ( unsigned ichan) const
virtual

Return the weight (0 or 1) associated with the specified channel.

Implements Pulsar::Calibrator.

References get_valid().

◆ new_Extension()

Pulsar::CalibratorExtension * Pulsar::FluxCalibrator::new_Extension ( ) const
virtual

Return a new FluxCalibratorExtension.

Implements Pulsar::Calibrator.

References FluxCalibrator().

◆ print()

void Pulsar::FluxCalibrator::print ( std::ostream & os = std::cout) const

Print all the fluxcal info.

Print all the fluxcal info in simple ascii columns.

References data, FluxCalibrator(), get_nchan(), get_nreceptor(), get_valid(), and Pulsar::Calibrator::has_calibrator().


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

Generated using doxygen 1.14.0