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. More...
 
 ~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. More...
 
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. More...
 
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. More...
 
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. More...
 
- 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.
 
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. More...
 
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. More...
 
- 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)

Default constructor.

If a Pulsar::Archive is provided, and if it contains a PolnCalibratorExtension, then the constructed instance can be used to calibrate other Pulsar::Archive instances.

References Reference::To< class, active >::get().

Member Function Documentation

◆ calibration_setup()

void Pulsar::FluxCalibrator::calibration_setup ( const Archive archive)

◆ 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 Pulsar::Receiver::get(), Pulsar::Receiver::get_hand(), and Pulsar::Receiver::get_reference_source_phase().

◆ get_nreceptor()

◆ 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.


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

Generated using doxygen 1.8.17