Line data Source code
1 : //# DBeamSkyJones.h: Definitions of interface for DBeamSkyJones 2 : //# Copyright (C) 1996,1997,1998,2000 3 : //# Associated Universities, Inc. Washington DC, USA. 4 : //# 5 : //# This library is free software; you can redistribute it and/or modify it 6 : //# under the terms of the GNU Library General Public License as published by 7 : //# the Free Software Foundation; either version 2 of the License, or (at your 8 : //# option) any later version. 9 : //# 10 : //# This library is distributed in the hope that it will be useful, but WITHOUT 11 : //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 : //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 13 : //# License for more details. 14 : //# 15 : //# You should have received a copy of the GNU Library General Public License 16 : //# along with this library; if not, write to the Free Software Foundation, 17 : //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA. 18 : //# 19 : //# Correspondence concerning AIPS++ should be adressed as follows: 20 : //# Internet email: aips2-request@nrao.edu. 21 : //# Postal address: AIPS++ Project Office 22 : //# National Radio Astronomy Observatory 23 : //# 520 Edgemont Road 24 : //# Charlottesville, VA 22903-2475 USA 25 : //# 26 : //# 27 : //# $Id$ 28 : 29 : #ifndef SYNTHESIS_DBEAMSKYJONES_H 30 : #define SYNTHESIS_DBEAMSKYJONES_H 31 : 32 : #include <casacore/casa/aips.h> 33 : #include <casacore/measures/Measures/Stokes.h> 34 : #include <synthesis/TransformMachines/BeamSkyJones.h> 35 : 36 : namespace casa { //# NAMESPACE CASA - BEGIN 37 : 38 : //#forward 39 : class SkyModel; 40 : 41 : //# Need forward declaration for Solve in the Jones Matrices 42 : class SkyEquation; 43 : 44 : // <summary> Model the polarization leakage in the Sky Jones Matrices </summary> 45 : 46 : // <use visibility=export> 47 : 48 : // <reviewed reviewer="" date="" tests="" demos=""> 49 : 50 : // <prerequisite> 51 : // <li> <linkto class="SkyEquation">SkyEquation</linkto> class 52 : // <li> <linkto class="BeamSkyJones">BeamSkyJones</linkto> class 53 : // </prerequisite> 54 : // 55 : // <etymology> 56 : // DBeam = sky-position-dependent polarization leakage, 57 : // SkyJones = Sky-based Jones matrices. 58 : // This class only deals with the off-diagonal elements of the 59 : // primary beam jones matrices. 60 : // </etymology> 61 : // 62 : // <synopsis> 63 : // </synopsis> 64 : // 65 : // <example> 66 : // <srcblock> 67 : // </srcblock> 68 : // </example> 69 : // 70 : // 71 : // <motivation> 72 : // To deal with the polarization leakage beam (mainly casacore::Stokes I into 73 : // polarization visibilities). The main primary beam response, ie, 74 : // the diagonal Jones matrix elements, are handled by VPSkyJones. 75 : // The motivation for this split is differing storage requirements 76 : // for the unerlying PBMath types, and different methods available 77 : // to VPSkyJones and DBeamSkyJones. 78 : // </motivation> 79 : // 80 : // <todo asof="98/09/01"> 81 : // <li> Waiting for PBMath2D, which requires an HGEOM-like utility. 82 : // We can do nothing here until this is in place. 83 : // <li> Need to check the history that PB has been applied before applying DB 84 : // (or at least provide for some sort of checking.) 85 : // <li> Details of APPLY procedure may need to be modified 86 : // </todo> 87 : 88 : class DBeamSkyJones : public BeamSkyJones { 89 : 90 : public: 91 : 92 : DBeamSkyJones(casacore::MeasurementSet& ms, 93 : casacore::Bool makeDefaultPBsFromMS = true, 94 : const casacore::Quantity ¶llacticAngleIncrement = casacore::Quantity(5.0, "deg"), 95 : BeamSquint::SquintType doSquint = BeamSquint::NONE); 96 : 97 : // Note that DBeamSkyJones uses BeamSkyJones' "apply" methods 98 : 99 : // return SkyJones type 100 0 : Type type() {return SkyJones::D;}; 101 : 102 : // Is this solveable? 103 0 : virtual casacore::Bool isSolveable() {return false;}; 104 : 105 : protected: 106 : 107 : private: 108 : 109 : }; 110 : 111 : 112 : } //# NAMESPACE CASA - END 113 : 114 : #endif 115 :