casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Simulator.h
Go to the documentation of this file.
1 //# DOnewsimulator: defines classes for simulator DO.
2 //# Copyright (C) 1996,1997,1998,1999,2000,2001,2002
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 addressed 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_SIMULATOR_H
30 #define SYNTHESIS_SIMULATOR_H
31 
32 #include <casa/aips.h>
33 #include <casa/Quanta/Quantum.h>
38 //#include <synthesis/MeasurementComponents/EPJones.h>
39 
40 #include <casa/namespace.h>
41 namespace casacore{
42 
43 class MeasurementSet;
44 class MEpoch;
45 class NewMSSimulator;
46 template<class T> class PagedImage;
47 }
48 
49 namespace casa { //# NAMESPACE CASA - BEGIN
50 class VisSet;
51 class VisCal;
52 class ACoh;
53 class SkyEquation;
54 class ComponentList;
55 class CleanImageSkyModel;
56 class FTMachine;
57 class ComponentFTMachine;
58 
59 
60 
61 
62 
63 // <summary>Simulates MeasurementSets from SkyModel and SkyEquation</summary>
64 
65 
66 // <use visibility=export>
67 
68 // <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
69 // </reviewed>
70 
71 // <prerequisite>
72 // <li> <linkto class="casacore::MeasurementSet">casacore::MeasurementSet</linkto>
73 // <li> <linkto class="SkyEquation">SkyEquation</linkto>
74 // <li> <linkto class="SkyModel">SkyModel</linkto>
75 // </prerequisite>
76 //
77 // <etymology>
78 // The name MUST have the 'DO' prefix as this class is derived from
79 // ApplicationObject, and hence is classified as a distributed object. For the
80 // same reason the rest of its name must be in lower case. This class
81 // simulates visibility data, so it is called DOnewsimulator.
82 // </etymology>
83 //
84 // <synopsis>
85 // </synopsis>
86 //
87 // <motivation>
88 // This class was written to make the simulation capability useful from glish
89 // </motivation>
90 //
91 // <thrown>
92 // <li> casacore::AipsError - if an error occurs
93 // </thrown>
94 //
95 // <todo asof="1999/07/22">
96 // <li> everything
97 // </todo>
98 
99 class Simulator
100 {
101 
102 public:
103 
104  Simulator();
105  // Construct from string
106  Simulator(casacore::String& msname);
107 
108  // "newsimulator" ctor
110 
111  // Return the name of the MeasurementSet
112  casacore::String name() const;
113 
114  Simulator(const Simulator &other);
115 
116  Simulator &operator=(const Simulator &other);
117 
118  ~Simulator();
119 
121 
122 
123  // Select the data to be predicted or corrupted
124  casacore::Bool setdata(const casacore::Vector<casacore::Int>& spectralwindowids,
125  const casacore::Vector<casacore::Int>& fieldids,
126  const casacore::String& msSelect);
127 
128  casacore::Bool settimes(const casacore::Quantity& integrationTime,
129  const casacore::Bool useHourAngle,
130  const casacore::MEpoch& refTime);
131 
132  // set the configuration; NOTE: the telname used
133  // here will determine the Voltage Pattern to be used in the
134  // simulation
139  const casacore::Vector<casacore::Double>& dishDiameter,
142  const casacore::Vector<casacore::String>& antName,
143  const casacore::Vector<casacore::String>& padName,
144  const casacore::String& coordsystem,
145  const casacore::MPosition& referenceLocation);
146  // get info back from e.g. loaded ms in newmssimulator
148 
149  // set the observed fields for the simulation
150  casacore::Bool setfield(const casacore::String& sourceName,
151  const casacore::MDirection& sourceDirection,
152  const casacore::String& calCode,
153  const casacore::Quantity& distance);
154 
155 
156  // set automatic fields for a mosaic
157  casacore::Bool setmosaicfield(const casacore::String& sourcename, const casacore::String& calcode,
158  const casacore::MDirection& fieldcenter,
159  const casacore::Int xmosp, const casacore::Int ymosp,
160  const casacore::Quantity& mosspacing, const casacore::Quantity& distance);
161 
162 
163  // set one or more spectral windows and their characteristics
165  const casacore::Quantity& freq,
166  const casacore::Quantity& deltafreq,
167  const casacore::Quantity& freqresolution,
168  const casacore::MFrequency::Types& freqType,
169  const casacore::Int nchannels,
170  const casacore::String& stokes);
171 
172  // Set the simulated feed characteristics
177 
178  // Set the voltage pattern
180  const casacore::Bool defaultVP,
181  const casacore::String& vpTable,
182  const casacore::Bool doSquint,
183  const casacore::Quantity &parAngleInc,
184  const casacore::Quantity &skyPosThreshold,
185  const casacore::Float &pbLimit);
186 
187  // Set the random number generator seed for the addition of errors
189 
190  // Arrange to corrupt with existing calibration
191  // (cf Calibrater setapply)
193  const casacore::Double& t,
194  const casacore::String& table,
195  const casacore::String& spw,
196  const casacore::String& field,
197  const casacore::String& interp,
198  const casacore::Bool& calwt,
199  const casacore::Vector<casacore::Int>& spwmap,
200  const casacore::Float& opacity);
201 
202  // Apply antenna-based gain errors
204  const casacore::String& table,
205  const casacore::Quantity& interval,
207 
209  const casacore::String& table,
210  const casacore::Float pwv,
211  const casacore::Float deltapwv,
212  const casacore::Float beta,
213  const casacore::Float windspeed);
214 
215  // Apply antenna pointing and squint errors
217  const casacore::Bool applyPointingOffsets,
218  const casacore::Bool doPBCorrection);
219 
220  // Apply polarization leakage errors
222  //const casacore::Quantity& interval,
223  const casacore::Vector<casacore::Double>& amplitude,
224  const casacore::Vector<casacore::Double>& offset);
225 
226  // Apply bandpass errors
228  const casacore::Quantity& interval, const casacore::Vector<casacore::Double>& amplitude);
229 
230  // Simulate the parallactic angle phase effect
231  casacore::Bool setpa(const casacore::String& mode, const casacore::String& table,
232  const casacore::Quantity& interval);
233 
234  // Simulate quasi-realistic thermal noise, which can depend upon
235  // elevation, bandwidth, antenna diameter, as expected
237  const casacore::String& table,
238  const casacore::Quantity& simplenoise,
239  const casacore::Float antefficiency,
240  const casacore::Float correfficiency,
241  const casacore::Float spillefficiency,
242  const casacore::Float tau,
243  const casacore::Float trx,
244  const casacore::Float tatmos,
245  const casacore::Float tcmb);
246 
248  const casacore::String& caltable,
249  const casacore::Quantity& simplenoise,
250  // if blank, not stored
251  // or ATM calculation
252  const casacore::Quantity& pground,
253  const casacore::Float relhum,
254  const casacore::Quantity& altitude,
255  const casacore::Quantity& waterheight,
256  const casacore::Quantity& pwv,
257  // user-specified tau and tatmos
258  const casacore::Float tatmos,
259  const casacore::Float tau,
260  //
261  const casacore::Float antefficiency,
262  const casacore::Float spillefficiency,
263  const casacore::Float correfficiency,
264  const casacore::Float trx,
265  const casacore::Float tground,
266  const casacore::Float tcmb,
267  const casacore::Bool OTF,
268  const casacore::Float senscoeff,
269  const casacore::Int rxtype);
270 
271  // apply errors to the data in our MS
272  // casacore::Bool corrupt();
274 
275  // Set limits
276  casacore::Bool setlimits(const casacore::Double shadowFraction,
277  const casacore::Quantity& elevationLimit);
278 
279  // Set autocorrelation weight
280  casacore::Bool setauto(const casacore::Double autocorrwt);
281 
282 
283  // add new visibilities as described by the set methods to an existing
284  // or just created measurement set
285  casacore::Bool observe(const casacore::String& sourcename, const casacore::String& spwname,
286  const casacore::Quantity& startTime,
287  const casacore::Quantity& stopTime,
288  const casacore::Bool add_observationn=true,
289  const casacore::Bool state_sig=true,
290  const casacore::Bool state_ref=true,
291  const double& state_cal=0.,
292  const double& state_load=0.,
293  const unsigned int state_sub_scan=1,
294  const casacore::String& state_obs_mode="OBSERVE_TARGET#ON_SOURCE",
295  const casacore::String& observername="CASA simulator",
296  const casacore::String& projectname="CASA simulation");
297 
298 
300  const casacore::Vector<casacore::Quantity>& startTimes,
301  const casacore::Vector<casacore::Quantity>& stopTimes,
302  const casacore::Vector<casacore::MDirection>& directions,
303  const casacore::Bool add_observation,
304  const casacore::Bool state_sig,
305  const casacore::Bool state_ref,
306  const double& state_cal,
307  const double& state_load,
308  const unsigned int state_sub_scan,
309  const casacore::String& state_obs_mode,
310  const casacore::String& observername,
311  const casacore::String& projectname);
312 
313 
314  // Given a model image, predict the visibilities onto the (u,v) coordinates
315  // of our MS
317  const casacore::String& compList,
318  const casacore::Bool incremental);
319 
321 
323 
327 
328  // Set the processing options
329  casacore::Bool setoptions(const casacore::String& ftmachine,
330  const casacore::Int cache,
331  const casacore::Int tile,
332  const casacore::String& gridfunction,
333  const casacore::MPosition& mLocation,
334  const casacore::Float padding,
335  const casacore::Int facets,
336  const casacore::Double maxData,
337  const casacore::Int wprojPlanes);
338 
339 
340  // Set the print level
341  inline void setPrtlev(const casacore::Int& prtlev) { prtlev_=prtlev; };
342  // Return print (cout) level
343  inline casacore::Int& prtlev() { return prtlev_; };
344 
345 
346 private:
347 
348  // Get VP record - copied from SynthesisImager
350 
351  // Arrange to corrupt with simulated calibration
352  // (cf Calibrater setapply)
354 
355  // Prints an error message if the newsimulator DO is detached and returns true.
356  casacore::Bool detached() const;
357 
358  // set up some defaults
359  void defaults();
360 
361  // Make a VisSet if needed
362  void makeVisSet();
363 
364  // print out some help about create()
365  // casacore::Format direction nicely
367 
368  // casacore::Format time nicely
370 
371  // individual summary() functions
372  // <group>
379 
383 
386  // </group>
387 
388 
389  // SkyEquation management
390  // <group>
392  void destroySkyEquation();
393  // </group>
394 
399 
401 
403 
408 
412 
417  //casacore::Bool MSMayBeOK;
420  //casacore::Long maxData_p;
421 
422 
423  // info for coordinates and station locations
424  // <group>
437  // </group>
438 
439  // info for observed field parameters
440  // <group>
441 
447 
448  // </group>
449  // VisEquation handles corruption by visibility calibration effects
451  // Generic container for any number of calibration effects to corrupt with
453 
454  // info for spectral window parameters
455  // <group>
456 
457  // spectral windows data
458  // <group>
459  // RI 20091107 durn. whoever build this didn't enable multiple spw.
460  // we'll at least get some functionality here, but there are probably
461  // combinations of pols etc that won't properly report here.
462  // better than now, when it doesn't even report more than one spw.
470  // </group>
471  // </group>
472 
473 
474  // Feed information (there will be much more coming,
475  // but we are brain dead at this moment).
480 
481  // Some times which are required for settimes
482  // <group>
487  // </group>
488 
489  // Some parameters for voltage pattern (vp):
490  // <group>
491  casacore::Bool doVP_p; // Do we apply VP or not?
492  casacore::Bool doDefaultVP_p; // Do we use the default VP for this telescope?
493  casacore::String vpTableStr_p; // Otherwise, use the VP specified in this Table
494  casacore::Quantity parAngleInc_p; // Parallactic Angle increment
495  casacore::Quantity skyPosThreshold_p; // a tolerance in the pointing center position
496  casacore::Float pbLimit_p; // The PB level (in percentage) after which the PB is assumed to be zero
497  BeamSquint::SquintType squintType_p; // Control of squint to use
498  VPSkyJones* vp_p; // pointer to VPSkyJones for the sky equation
499  VPSkyJones* gvp_p; // pointer to VPSkyJones for the sky equation
500  // </group>
501 
502  // Saving some information about the various corrupting terms
503  // <group>
505  // </group>
506 
507  // Cache the newsimulator
509 
510  // The Jones matrix to hold the antenna pointing offsets and the
511  // associated table name. if applyPointingOffsets is false, only
512  // VLA polarization squint will be included in EPJones. If
513  // doPBCorrection is true, the model image will be divided by the
514  // primary beam before being used to predict the visibilities.
515  // <group>
516  // EPJones *epJ_p;
520  // </group>
521 
523 
524 };
525 
526 } //# NAMESPACE CASA - END
527 
528 #endif
A Measure: astronomical direction.
Definition: MDirection.h:174
casacore::Vector< casacore::Int > nChan_p
Definition: Simulator.h:465
CommonPB
This enumeration provides a simple way to instantiate the common primary beam models.
Definition: PBMath.h:134
A Measure: position on Earth.
Definition: MPosition.h:79
int Int
Definition: aipstype.h:50
casacore::String epJTableName_p
The Jones matrix to hold the antenna pointing offsets and the associated table name.
Definition: Simulator.h:517
casacore::String vpTableStr_p
Definition: Simulator.h:493
casacore::Vector< casacore::Double > x_p
Definition: Simulator.h:427
casacore::Vector< casacore::Double > y_p
Definition: Simulator.h:428
casacore::Vector< casacore::String > calCode_p
Definition: Simulator.h:444
casacore::Quantity skyPosThreshold_p
Definition: Simulator.h:495
casacore::Vector< casacore::String > padName_p
Definition: Simulator.h:434
casacore::Bool setauto(const casacore::Double autocorrwt)
Set autocorrelation weight.
FTMachine * ft_p
Definition: Simulator.h:406
casacore::Bool noiseSummary(casacore::LogIO &os)
casacore::Bool doDefaultVP_p
Definition: Simulator.h:492
casacore::Bool vpSummary(casacore::LogIO &os)
casacore::Bool oldsetnoise(const casacore::String &mode, const casacore::String &table, const casacore::Quantity &simplenoise, const casacore::Float antefficiency, const casacore::Float correfficiency, const casacore::Float spillefficiency, const casacore::Float tau, const casacore::Float trx, const casacore::Float tatmos, const casacore::Float tcmb)
Simulate quasi-realistic thermal noise, which can depend upon elevation, bandwidth, antenna diameter, as expected.
casacore::Bool setspwindow(const casacore::String &spwName, const casacore::Quantity &freq, const casacore::Quantity &deltafreq, const casacore::Quantity &freqresolution, const casacore::MFrequency::Types &freqType, const casacore::Int nchannels, const casacore::String &stokes)
set one or more spectral windows and their characteristics
casacore::Bool resetimcal()
casacore::Vector< casacore::String > sourceName_p
Definition: Simulator.h:443
casacore::Bool applyPointingOffsets_p
Definition: Simulator.h:518
casacore::Int tile_p
Definition: Simulator.h:414
ComponentList * componentList_p
Definition: Simulator.h:411
casacore::MeasurementSet * ms_p
Definition: Simulator.h:396
virtual Type type()
Return the type enum.
casacore::Bool feedsInitialized
Definition: Simulator.h:479
casacore::MPosition mLocation_p
Definition: Simulator.h:415
casacore::Bool setconfig(const casacore::String &telname, const casacore::Vector< casacore::Double > &x, const casacore::Vector< casacore::Double > &y, const casacore::Vector< casacore::Double > &z, const casacore::Vector< casacore::Double > &dishDiameter, const casacore::Vector< casacore::Double > &offset, const casacore::Vector< casacore::String > &mount, const casacore::Vector< casacore::String > &antName, const casacore::Vector< casacore::String > &padName, const casacore::String &coordsystem, const casacore::MPosition &referenceLocation)
set the configuration; NOTE: the telname used here will determine the Voltage Pattern to be used in t...
casacore::Bool doPBCorrection_p
Definition: Simulator.h:519
casacore::String coordsystem_p
Definition: Simulator.h:435
casacore::Int nmodels_p
Definition: Simulator.h:409
void defaults()
set up some defaults
casacore::Bool setlimits(const casacore::Double shadowFraction, const casacore::Quantity &elevationLimit)
Set limits.
casacore::String msname_p
Definition: Simulator.h:395
casacore::Float pbLimit_p
Definition: Simulator.h:496
casacore::Bool setbandpass(const casacore::String &mode, const casacore::String &table, const casacore::Quantity &interval, const casacore::Vector< casacore::Double > &amplitude)
Apply bandpass errors.
ABSTRACT TOOL CLASSES A PlotTool is a higher level event handler for a PlotCanvas The idea is to take common tasks which may require multiple events and put them in one place PlotTools also provide additional functionality in that they can be active and blocking non blocking The PlotCanvas will only send events to active and will not send events to later tools or event handlers if the latest tool was blocking In this way a single tool can be used to handle ALL user interaction via the GUI at one time
Definition: PlotTool.h:43
SquintType
Allowed Squints: NONE = no squint: PB is centered on the pointing center RR = PB is shifted from poin...
Definition: BeamSquint.h:109
casacore::Bool reset()
casacore::String telescope_p
Definition: Simulator.h:426
casacore::Bool useHourAngle_p
Definition: Simulator.h:484
casacore::Bool setseed(const casacore::Int seed)
Set the random number generator seed for the addition of errors.
ostream-like interface to creating log messages.
Definition: LogIO.h:167
casacore::Bool setfield(const casacore::String &sourceName, const casacore::MDirection &sourceDirection, const casacore::String &calCode, const casacore::Quantity &distance)
set the observed fields for the simulation
CleanImageSkyModel * sm_p
Definition: Simulator.h:405
casacore::String gridfunction_p
Definition: Simulator.h:413
casacore::Bool setfeed(const casacore::String &mode, const casacore::Vector< casacore::Double > &x, const casacore::Vector< casacore::Double > &y, const casacore::Vector< casacore::String > &pol)
Set the simulated feed characteristics.
casacore::Bool settrop(const casacore::String &mode, const casacore::String &table, const casacore::Float pwv, const casacore::Float deltapwv, const casacore::Float beta, const casacore::Float windspeed)
casacore::Bool feedSummary(casacore::LogIO &os)
casacore::Bool resetviscal()
casacore::Vector< casacore::MDirection > sourceDirection_p
Definition: Simulator.h:445
casacore::Vector< casacore::String > spWindowName_p
Definition: Simulator.h:464
A Measure: instant in time.
Definition: MEpoch.h:104
casacore::Int facets_p
casacore::Bool MSMayBeOK;
Definition: Simulator.h:418
casacore::Int prtlev_
Definition: Simulator.h:522
casacore::Bool feedsHaveBeenSet
Definition: Simulator.h:478
casacore::Bool corrupt()
apply errors to the data in our MS casacore::Bool corrupt();
casacore::Bool corruptSummary(casacore::LogIO &os)
SkyEquation * se_p
Definition: Simulator.h:404
casacore::Vector< casacore::String > antName_p
Definition: Simulator.h:433
Model the diagonal elements of the Voltage Pattern Sky Jones Matrices.
Definition: VPSkyJones.h:91
casacore::Bool setapply(const casacore::String &type, const casacore::Double &t, const casacore::String &table, const casacore::String &spw, const casacore::String &field, const casacore::String &interp, const casacore::Bool &calwt, const casacore::Vector< casacore::Int > &spwmap, const casacore::Float &opacity)
Arrange to corrupt with existing calibration (cf Calibrater setapply)
casacore::NewMSSimulator * sim_p
Cache the newsimulator.
Definition: Simulator.h:508
casacore::Vector< casacore::Quantity > distance_p
Definition: Simulator.h:446
casacore::Bool setoptions(const casacore::String &ftmachine, const casacore::Int cache, const casacore::Int tile, const casacore::String &gridfunction, const casacore::MPosition &mLocation, const casacore::Float padding, const casacore::Int facets, const casacore::Double maxData, const casacore::Int wprojPlanes)
Set the processing options.
casacore::Quantity integrationTime_p
Some times which are required for settimes.
Definition: Simulator.h:483
void getVPRecord(casacore::Record &rec, PBMath::CommonPB &kpb, casacore::String telescop)
Get VP record - copied from SynthesisImager.
casacore::Int nFeeds_p
Definition: Simulator.h:477
casacore::String name() const
Return the name of the MeasurementSet.
casacore::Bool doVP_p
Some parameters for voltage pattern (vp):
Definition: Simulator.h:491
casacore::Bool detached() const
Prints an error message if the newsimulator DO is detached and returns true.
Create an empty MeasurementSet from observation and telescope descriptions.
casacore::MEpoch refTime_p
Definition: Simulator.h:485
casacore::Vector< casacore::Double > diam_p
Definition: Simulator.h:430
double Double
Definition: aipstype.h:55
casacore::Bool observemany(const casacore::Vector< casacore::String > &sourcenames, const casacore::String &spwname, const casacore::Vector< casacore::Quantity > &startTimes, const casacore::Vector< casacore::Quantity > &stopTimes, const casacore::Vector< casacore::MDirection > &directions, const casacore::Bool add_observation, const casacore::Bool state_sig, const casacore::Bool state_ref, const double &state_cal, const double &state_load, const unsigned int state_sub_scan, const casacore::String &state_obs_mode, const casacore::String &observername, const casacore::String &projectname)
VisSet * vs_p
Definition: Simulator.h:398
casacore::String state()
casacore::Int nField
info for observed field parameters
Definition: Simulator.h:442
casacore::Quantity parAngleInc_p
Definition: Simulator.h:494
casacore::Bool createSkyEquation(const casacore::Vector< casacore::String > &image, const casacore::String complist)
SkyEquation management.
A hierarchical collection of named fields of various types.
Definition: Record.h:180
Simulates MeasurementSets from SkyModel and SkyEquation.
Definition: Simulator.h:99
bool Bool
Define the standard types used by Casacore.
Definition: aipstype.h:42
casacore::Int & prtlev()
Return print (cout) level.
Definition: Simulator.h:343
casacore::Vector< casacore::Quantity > freqInc_p
Definition: Simulator.h:467
casacore::Bool setvp(const casacore::Bool dovp, const casacore::Bool defaultVP, const casacore::String &vpTable, const casacore::Bool doSquint, const casacore::Quantity &parAngleInc, const casacore::Quantity &skyPosThreshold, const casacore::Float &pbLimit)
Set the voltage pattern.
BeamSquint::SquintType squintType_p
Definition: Simulator.h:497
float Float
Definition: aipstype.h:54
void makeVisSet()
Make a VisSet if needed.
casacore::Bool timeSummary(casacore::LogIO &os)
casacore::Bool setnoise(const casacore::String &mode, const casacore::String &caltable, const casacore::Quantity &simplenoise, const casacore::Quantity &pground, const casacore::Float relhum, const casacore::Quantity &altitude, const casacore::Quantity &waterheight, const casacore::Quantity &pwv, const casacore::Float tatmos, const casacore::Float tau, const casacore::Float antefficiency, const casacore::Float spillefficiency, const casacore::Float correfficiency, const casacore::Float trx, const casacore::Float tground, const casacore::Float tcmb, const casacore::Bool OTF, const casacore::Float senscoeff, const casacore::Int rxtype)
casacore::Bool create_corrupt(casacore::Record &simpar)
Arrange to corrupt with simulated calibration (cf Calibrater setapply)
casacore::Bool getconfig()
get info back from e.g.
A drop-in replacement for Block&lt;T*&gt;.
Definition: WProjectFT.h:54
ComponentFTMachine * cft_p
Definition: Simulator.h:407
casacore::String formatDirection(const casacore::MDirection &direction)
print out some help about create() casacore::Format direction nicely
A Table intended to hold astronomical data (a set of Measurements).
casacore::Bool configSummary(casacore::LogIO &os)
VPSkyJones * vp_p
Definition: Simulator.h:498
casacore::Vector< casacore::Quantity > freqRes_p
Definition: Simulator.h:468
casacore::Bool timesHaveBeenSet_p
Definition: Simulator.h:486
casacore::Bool setdata(const casacore::Vector< casacore::Int > &spectralwindowids, const casacore::Vector< casacore::Int > &fieldids, const casacore::String &msSelect)
Select the data to be predicted or corrupted.
casacore::Vector< casacore::String > stokesString_p
Definition: Simulator.h:469
casacore::String ftmachine_p
Definition: Simulator.h:413
casacore::PtrBlock< casacore::PagedImage< casacore::Float > * > images_p
Definition: Simulator.h:410
casacore::Int nSpw
info for spectral window parameters
Definition: Simulator.h:463
casacore::Float padding_p
Definition: Simulator.h:416
casacore::MPosition mRefLocation_p
Definition: Simulator.h:436
casacore::Bool close()
casacore::Bool settimes(const casacore::Quantity &integrationTime, const casacore::Bool useHourAngle, const casacore::MEpoch &refTime)
A class for manipulating groups of components.
casacore::Bool setpointingerror(const casacore::String &epJTableName, const casacore::Bool applyPointingOffsets, const casacore::Bool doPBCorrection)
Apply antenna pointing and squint errors.
casacore::Vector< casacore::String > mount_p
Definition: Simulator.h:432
casacore::Bool setpa(const casacore::String &mode, const casacore::String &table, const casacore::Quantity &interval)
Simulate the parallactic angle phase effect.
String: the storage and methods of handling collections of characters.
Definition: String.h:223
casacore::Bool predict(const casacore::Vector< casacore::String > &modelImage, const casacore::String &compList, const casacore::Bool incremental)
Given a model image, predict the visibilities onto the (u,v) coordinates of our MS.
casacore::Bool spWindowSummary(casacore::LogIO &os)
void setPrtlev(const casacore::Int &prtlev)
Set the print level.
Definition: Simulator.h:341
casacore::Bool setmosaicfield(const casacore::String &sourcename, const casacore::String &calcode, const casacore::MDirection &fieldcenter, const casacore::Int xmosp, const casacore::Int ymosp, const casacore::Quantity &mosspacing, const casacore::Quantity &distance)
set automatic fields for a mosaic
casacore::Bool observe(const casacore::String &sourcename, const casacore::String &spwname, const casacore::Quantity &startTime, const casacore::Quantity &stopTime, const casacore::Bool add_observationn=true, const casacore::Bool state_sig=true, const casacore::Bool state_ref=true, const double &state_cal=0., const double &state_load=0., const unsigned int state_sub_scan=1, const casacore::String &state_obs_mode="OBSERVE_TARGET#ON_SOURCE", const casacore::String &observername="CASA simulator", const casacore::String &projectname="CASA simulation")
add new visibilities as described by the set methods to an existing or just created measurement set ...
VisEquation ve_p
VisEquation handles corruption by visibility calibration effects.
Definition: Simulator.h:450
Image Sky Model: Image-based Model for the Sky Brightness.
casacore::Int seed_p
Definition: Simulator.h:400
casacore::String noisemode_p
Saving some information about the various corrupting terms.
Definition: Simulator.h:504
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
Definition: MFrequency.h:176
casacore::Int cache_p
Definition: Simulator.h:414
casacore::Bool fieldSummary(casacore::LogIO &os)
casacore::String feedMode_p
Feed information (there will be much more coming, but we are brain dead at this moment).
Definition: Simulator.h:476
casacore::Vector< casacore::Double > offset_p
Definition: Simulator.h:431
casacore::String formatTime(const casacore::Double time)
casacore::Format time nicely
Read, store, and manipulate astronomical images.
Definition: Simulator.h:46
casacore::Vector< casacore::Quantity > startFreq_p
Definition: Simulator.h:466
casacore::Bool createSummary(casacore::LogIO &os)
individual summary() functions
void destroySkyEquation()
casacore::Vector< casacore::Double > z_p
Definition: Simulator.h:429
casacore::Int wprojPlanes_p
Definition: Simulator.h:419
casacore::Bool areStationCoordsSet_p
casacore::Long maxData_p;
Definition: Simulator.h:425
VPSkyJones * gvp_p
Definition: Simulator.h:499
casacore::Bool predictSummary(casacore::LogIO &os)
casacore::Bool optionsSummary(casacore::LogIO &os)
casacore::Bool setleakage(const casacore::String &mode, const casacore::String &table, const casacore::Vector< casacore::Double > &amplitude, const casacore::Vector< casacore::Double > &offset)
Apply polarization leakage errors.
casacore::Bool setgain(const casacore::String &mode, const casacore::String &table, const casacore::Quantity &interval, const casacore::Vector< casacore::Double > &amplitude)
Apply antenna-based gain errors.
casacore::Bool summary()
casacore::PtrBlock< VisCal * > vc_p
Generic container for any number of calibration effects to corrupt with.
Definition: Simulator.h:452
Simulator & operator=(const Simulator &other)
defines interface for the Fourier Transform Machine
Definition: FTMachine.h:120
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42
TableExprNode amplitude(const TableExprNode &node)
The amplitude (i.e.
Definition: ExprNode.h:1397
casacore::MeasurementSet * mssel_p
Definition: Simulator.h:397