Contains information about the receiver and receiver platform. More...

#include <Receiver.h>

Inheritance diagram for Pulsar::Receiver:
Pulsar::Archive::Extension Reference::Able Reference::HeapTracked

Classes

class  Field
 Stores the field orientation. More...
 
class  Linear
 Stores the X and Y receptor and calibrator orientations. More...
 
class  Native
 Stores receptor basis, hand, and orientation, and calibrator phase. More...
 
class  State
 The internal state of the Receiver Extension class. More...
 

Public Types

enum  Tracking { Feed, Celestial, Galactic }
 Different modes of feed rotational tracking. More...
 

Public Member Functions

 Receiver ()
 Default constructor.
 
 Receiver (const Receiver &extension)
 Copy constructor.
 
const Receiveroperator= (const Receiver &extension)
 Operator =.
 
 ~Receiver ()
 Destructor.
 
Receiverclone () const
 Clone method.
 
std::string get_short_name () const
 Return an abbreviated name that can be typed relatively quickly.
 
TextInterface::Parserget_interface ()
 Return a text interfaces that can be used to access this instance.
 
void parse (std::string text)
 Parses the value of a Receiver attribute from a string. More...
 
Tracking get_tracking_mode () const
 Get the tracking mode of the receiver platform.
 
void set_tracking_mode (Tracking mode)
 Set the tracking mode of the receiver platform.
 
Angle get_tracking_angle () const
 Get the position angle tracked by the receiver.
 
void set_tracking_angle (const Angle &angle)
 Get the position angle tracked by the receiver.
 
std::string get_name () const
 Get the name of the receiver.
 
void set_name (const std::string &_name)
 Set the name of the receiver.
 
int get_nrcvr (void)
 Get the number of receptors.
 
void set_nrcvr (const int s_nrcvr)
 Set the number of receptors.
 
Signal::Basis get_basis () const
 Get the basis of the feed receptors.
 
void set_basis (Signal::Basis basis)
 Set the basis of the feed receptors.
 
General orthogonal basis interface

These parameters describe the configuration of a receiver with ideal receptors.

Angle get_orientation () const
 Get the orientation of the basis about the line of sight.
 
void set_orientation (const Angle &celestial_position_angle)
 Set the orientation of the basis about the line of sight. More...
 
Signal::Hand get_hand () const
 Get the hand of the basis.
 
void set_hand (Signal::Hand)
 Set the hand of the basis. More...
 
Angle get_reference_source_phase () const
 Get the phase of the reference source.
 
void set_reference_source_phase (const Angle &phase)
 Set the phase of the reference source.
 
Basis-dependent interface

The interpretation of these parameters depends upon the basis.

Angle get_field_orientation () const
 Get the orientation of the equal in-phase electric field vector.
 
void set_field_orientation (const Angle &celestial_position_angle)
 Set the orientation of the equal in-phase electric field vector.
 
- Public Member Functions inherited from Pulsar::Archive::Extension
 Extension (const char *name)
 Construct with a name.
 
virtual ~Extension ()
 Destructor.
 
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 resize (unsigned nsubint, unsigned npol=0, unsigned nchan=0, unsigned nbin=0)
 Resize the Extension.
 
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
 

Static Public Member Functions

static Receiverload (const std::string &filename)
 Construct a new Receiver instance from a file.
 
static Receivernew_Receiver (const std::string &text)
 Construct a new Receiver instance from a string. More...
 
- 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 ()
 

Linear basis-specific interface

These parameters describe the configuration of a receiver with ideal, linearly polarized receptors.

std::string name
 Name of the receiver.
 
int nrcvr
 Number of receptors.
 
Reference::To< Statestate
 State of the receiver.
 
Tracking tracking_mode
 The tracking mode of the receiver platform.
 
Angle tracking_angle
 The rotation angle tracked by the feed. More...
 
bool basis_corrected
 Flag set when the offset of the feed has been corrected. More...
 
bool projection_corrected
 Flag set when platform to sky transformation has been corrected. More...
 
float atten_a
 Attenuator, Poln A. More...
 
float atten_b
 Attenuator, Poln B. More...
 
Angle get_X_offset () const
 Get the offset of the feed X axis with respect to the platform zero.
 
void set_X_offset (const Angle &offset)
 Set the offset of the feed X axis with respect to the platform zero. More...
 
Angle get_Y_offset () const
 Get the offset of the feed Y axis from its nominal value.
 
void set_Y_offset (const Angle &offset)
 Set the offset of the feed Y axis from its nominal value.
 
Angle get_calibrator_offset () const
 Get the offset of the feed calibrator axis from its nominal value.
 
void set_calibrator_offset (const Angle &offset)
 Set the offset of the feed calibrator axis from its nominal value. More...
 
bool get_basis_corrected () const
 Return true when receptor basis has been corrected.
 
void set_basis_corrected (bool)
 Set true when receptor basis has been corrected.
 
bool get_projection_corrected () const
 Return true when receptor projection onto sky has been corrected.
 
void set_projection_corrected (bool val)
 Set true when receptor projection onto sky has been corrected.
 
float get_atten_a () const
 Get the attenuator, Poln A.
 
void set_atten_a (float atten)
 Set the attenuator, Poln A.
 
float get_atten_b () const
 Get the attenuator, Poln B.
 
void set_atten_b (float atten)
 Set the attenuator, Poln B.
 
bool match (const Receiver *receiver, std::string &reason) const
 Return true if the receiver configurations match.
 
std::string get_tracking_mode_string () const
 Return a string that describes the tracking mode.
 
Stokes< double > get_reference_source () const
 Return the Stokes parameters of the reference source.
 
template<class StateType >
StateType * get () const
 

Additional Inherited Members

- Protected Member Functions inherited from Reference::Able
Handle__reference (bool active) const
 
void __dereference (bool auto_delete=true) const
 
- Protected Attributes inherited from Pulsar::Archive::Extension
std::string extension_name
 Extension name - useful when debugging.
 

Detailed Description

Contains information about the receiver and receiver platform.

Member Enumeration Documentation

◆ Tracking

Different modes of feed rotational tracking.

Enumerator
Feed 

Constant feed angle.

Celestial 

Constant Celestial position angle.

Galactic 

Constant Galactic position angle.

Member Function Documentation

◆ get()

template<class StateType >
StateType * Pulsar::Receiver::get
protected

If the current state is not of the specified StateType, a new state will be created, copied, and installed

References state.

Referenced by Pulsar::FluxCalibrator::get_CalibratorStokes().

◆ new_Receiver()

Pulsar::Receiver * Pulsar::Receiver::new_Receiver ( const std::string &  text)
static

Construct a new Receiver instance from a string.

Parameters
namefor now, the Receiver base class has no derived types and this method always returns a new Receiver instance with name set to name.

References set_name().

◆ parse()

void Pulsar::Receiver::parse ( std::string  text)

Parses the value of a Receiver attribute from a string.

Parses the values of model parameters and fit flags from a string.

◆ set_calibrator_offset()

void Pulsar::Receiver::set_calibrator_offset ( const Angle offset)

Set the offset of the feed calibrator axis from its nominal value.

In the linear basis, the noise diode must illuminate both receptors equally. Therefore, there are only two valid orientations:

Parameters
offseteither 0 or +/- 90 degrees

Referenced by Pulsar::Parkes::COAX10_50(), Pulsar::Receiver::Linear::copy(), Pulsar::Parkes::H_OH(), Pulsar::Parkes::Multibeam(), and Pulsar::TimerArchive::unpack().

◆ set_hand()

void Pulsar::Receiver::set_hand ( Signal::Hand  hand)

Set the hand of the basis.

If this method is called, then any changes due to set_Y_offset will be reset.

Referenced by Pulsar::Receiver::Native::copy(), and Pulsar::ASPArchive::load_extensions().

◆ set_orientation()

void Pulsar::Receiver::set_orientation ( const Angle angle)

Set the orientation of the basis about the line of sight.

If this method is called, then any previous changes due to set_X_offset, set_Y_offset, or set_field_orientation will be reset.

Referenced by Pulsar::Receiver::Native::copy().

◆ set_X_offset()

void Pulsar::Receiver::set_X_offset ( const Angle offset)

Set the offset of the feed X axis with respect to the platform zero.

If this method is called, then any previous changes due to set_orientation or set_field_orientation will be reset.

Referenced by Pulsar::Parkes::COAX10_50(), Pulsar::Parkes::H_OH(), Pulsar::Parkes::Multibeam(), and Pulsar::TimerArchive::unpack().

Member Data Documentation

◆ atten_a

float Pulsar::Receiver::atten_a
protected

Attenuator, Poln A.

The software currently does nothing with this value

Referenced by get_basis_corrected(), operator=(), and Receiver().

◆ atten_b

float Pulsar::Receiver::atten_b
protected

Attenuator, Poln B.

The software currently does nothing with this value

Referenced by get_projection_corrected(), operator=(), Receiver(), and set_projection_corrected().

◆ basis_corrected

bool Pulsar::Receiver::basis_corrected
protected

Flag set when the offset of the feed has been corrected.

This flag should be set when the offset of the feed X and Y axes and any rotation of the feed (tracking_angle) with respect to the platform zero have been corrected.

Referenced by operator=(), and Receiver().

◆ projection_corrected

bool Pulsar::Receiver::projection_corrected
protected

Flag set when platform to sky transformation has been corrected.

For a horizon mounted antenna, this flag should be set when the rotation of the platform zero, known as the vertical angle or parallactic angle, has been corrected.

Referenced by operator=(), and Receiver().

◆ tracking_angle

Angle Pulsar::Receiver::tracking_angle
protected

The rotation angle tracked by the feed.

The interpretation of this angle depends on the mode

Referenced by operator=().


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

Generated using doxygen 1.8.17