casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Protected Attributes
casa::BeamSquint Class Reference

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

#include <BeamSquint.h>

List of all members.

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.
 BeamSquint (const MDirection &squint, const Quantity &refFreq)
 Smart constructor to initialize the MDirection and reference freq.
 BeamSquint (const BeamSquint &other)
 Copy constructor.
BeamSquintoperator= (const BeamSquint &other)
 Operator=.
 ~BeamSquint ()
 Destructor.
void show ()
 Show to Logger.
Bool isNonNull ()
 Is BeamSquint nonNull?
MDirectionscale (const Quantity &refFreq)
 Return the squint's MDirection scaled to a particular frequency.
void getPointingDirection (const MDirection &pointDir, const Quantity parAngle, const Quantity obsFreq, const SquintType doSquint, MDirection &newPointingDir)
 Return the squinted pointing position.

Protected Attributes

MDirection squint_p
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 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

       MDirection oldPointing;
       MDirection newPointing;
       Quantity parallacticAngle(C::pi/2, "rad");
       Quantity observingFreq(1.4142, "GHz");
       BeamSquint oneBS( MDirection( Quantity(1.0, "'"), Quantity(1.0, "'"),
                                     MDirection::Ref(MDirection::AZEL)),
                         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

Default constructor initializes to zero.

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

Smart constructor to initialize the MDirection and reference freq.

Copy constructor.

Destructor.


Member Function Documentation

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

Return the squinted pointing position.

Is BeamSquint nonNull?

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

Operator=.

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

Show to Logger.


Member Data Documentation

Definition at line 146 of file BeamSquint.h.

Definition at line 144 of file BeamSquint.h.


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