casa
$Rev:20696$
|
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. | |
BeamSquint (const MDirection &squint, const Quantity &refFreq) | |
Smart constructor to initialize the MDirection and reference freq. | |
BeamSquint (const BeamSquint &other) | |
Copy constructor. | |
BeamSquint & | operator= (const BeamSquint &other) |
Operator=. | |
~BeamSquint () | |
Destructor. | |
void | show () |
Show to Logger. | |
Bool | isNonNull () |
Is BeamSquint nonNull? | |
MDirection & | scale (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 |
encapsulates beam squint (RR and LL beams at different directions)
Public interface
BeamSquint = Beam Squint. Obviously so.
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.
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);
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).
Definition at line 101 of file BeamSquint.h.
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.
Definition at line 109 of file BeamSquint.h.
Default constructor initializes to zero.
casa::BeamSquint::BeamSquint | ( | const MDirection & | squint, |
const Quantity & | refFreq | ||
) |
Smart constructor to initialize the MDirection and reference freq.
casa::BeamSquint::BeamSquint | ( | const BeamSquint & | other | ) |
Copy constructor.
Destructor.
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=.
MDirection& casa::BeamSquint::scale | ( | const Quantity & | refFreq | ) |
Return the squint's MDirection scaled to a particular frequency.
void casa::BeamSquint::show | ( | ) |
Show to Logger.
Quantity casa::BeamSquint::refFreq_p [protected] |
Definition at line 146 of file BeamSquint.h.
MDirection casa::BeamSquint::squint_p [protected] |
Definition at line 144 of file BeamSquint.h.