casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Attributes | List of all members
casa::BeamSquint Class Reference

encapsulates beam squint (RR and LL beams at different directions) More...

#include <BeamSquint.h>

Public Types

enum  SquintType {
  NONE,
  RR,
  LL,
  GOFIGURE
}
 Allowed Squints: NONE = no squint: PB is centered on the pointing center RR = PB is shifted from pointing center by amount in PBMathInterface's squint_p LL = PB is shifted from pointing center by the NEGATIVE of the amount in PBMathInterface's squint_p GOFIGURE = do the appropriate thing based on the STOKES of the Image. More...
 

Public Member Functions

 BeamSquint ()
 Default constructor initializes to zero. More...
 
 BeamSquint (const casacore::MDirection &squint, const casacore::Quantity &refFreq)
 Smart constructor to initialize the casacore::MDirection and reference freq. More...
 
 BeamSquint (const BeamSquint &other)
 Copy constructor. More...
 
BeamSquintoperator= (const BeamSquint &other)
 Operator=. More...
 
 ~BeamSquint ()
 Destructor. More...
 
void show ()
 Show to Logger. More...
 
casacore::Bool isNonNull ()
 Is BeamSquint nonNull? More...
 
casacore::MDirectionscale (const casacore::Quantity &refFreq)
 Return the squint's casacore::MDirection scaled to a particular frequency. More...
 
void getPointingDirection (const casacore::MDirection &pointDir, const casacore::Quantity parAngle, const casacore::Quantity obsFreq, const SquintType doSquint, casacore::MDirection &newPointingDir)
 Return the squinted pointing position. More...
 

Protected Attributes

casacore::MDirection squint_p
 
casacore::Quantity refFreq_p
 

Detailed Description

encapsulates beam squint (RR and LL beams at different directions)

Intended use:

Public interface

Prerequisite

Etymology

BeamSquint = Beam Squint. Obviously so.

Synopsis

Beam squint is when the RR and LL circular polarization beams are located in different places on the sky. The effect is due to the RR and LL feeds being off-axis. The VLA has particularly bad beam squint. Some instruments like the AT or WSRT have essentially no beam squint. The nominal pointing position is taken to be right in between the RR and LL beam centers/

BeamSquint has an casacore::MDirection which represents the angular offset from the nominal pointing position at Parallactic angle = 0 (ie, observing a source south of zenith at transit) and the actual RR beam. BeamSquint also has a reference frequency, and the magnitude of the squint angular offset is inversely proportional with frequency. The squint offset is a true angular displacement.

The main thing that BeamSquint does is: given the nominal pointing position and the parallactic angle, calculate the actual squinted beam position for the RR or LL beams. If BeamSquint::NONE is requested, the nominal pointing position is returned.

Example

casacore::Quantity parallacticAngle(C::pi/2, "rad");
casacore::Quantity observingFreq(1.4142, "GHz");
casacore::Quantity(1.0, "GHz"));
oneBS.getPointingDirection(oldPointing, parallacticAngle,
observingFreq, BeamSquint::RR, newPointing);

Motivation

Boy, is this UGLY. We do that UGLY stuff just once, though, so you never have to look at it AGAIN (see getPointingDirection if you still don't believe me).

To Do

Definition at line 101 of file BeamSquint.h.

Member Enumeration Documentation

Allowed Squints: NONE = no squint: PB is centered on the pointing center RR = PB is shifted from pointing center by amount in PBMathInterface's squint_p LL = PB is shifted from pointing center by the NEGATIVE of the amount in PBMathInterface's squint_p GOFIGURE = do the appropriate thing based on the STOKES of the Image.

Enumerator
NONE 
RR 
LL 
GOFIGURE 

Definition at line 109 of file BeamSquint.h.

Constructor & Destructor Documentation

casa::BeamSquint::BeamSquint ( )

Default constructor initializes to zero.

casa::BeamSquint::BeamSquint ( const casacore::MDirection squint,
const casacore::Quantity refFreq 
)

Smart constructor to initialize the casacore::MDirection and reference freq.

casa::BeamSquint::BeamSquint ( const BeamSquint other)

Copy constructor.

casa::BeamSquint::~BeamSquint ( )

Destructor.

Member Function Documentation

void casa::BeamSquint::getPointingDirection ( const casacore::MDirection pointDir,
const casacore::Quantity  parAngle,
const casacore::Quantity  obsFreq,
const SquintType  doSquint,
casacore::MDirection newPointingDir 
)

Return the squinted pointing position.

casacore::Bool casa::BeamSquint::isNonNull ( )

Is BeamSquint nonNull?

BeamSquint& casa::BeamSquint::operator= ( const BeamSquint other)

Operator=.

casacore::MDirection& casa::BeamSquint::scale ( const casacore::Quantity refFreq)

Return the squint's casacore::MDirection scaled to a particular frequency.

void casa::BeamSquint::show ( )

Show to Logger.

Member Data Documentation

casacore::Quantity casa::BeamSquint::refFreq_p
protected

Definition at line 146 of file BeamSquint.h.

casacore::MDirection casa::BeamSquint::squint_p
protected

Definition at line 144 of file BeamSquint.h.


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