The correlation types, set either at construction or vis setCorrProducts(), are represented as values from the Stokes::StokesTypes enumeration. To help ensure consistancy with the FEED table, one must also provide the SimFeed objects for the feeds being correlated; these feeds will be checked to ensure that the combinations are possible with the receptors associated with the given feeds.
A row marker, set with setId(), is used by SimPolList to indicate that this SimPol has been written out to a POLARIZATION table.
initialize the container
make a copy of the container
set the correlation products using the given feeds. If it is not possilble to form the correlations with the given feeds, the correlations are not set and False is returned.
get and set the ID. An ID less than zero means that this record has not yet been recorded.
An important function handled by this class is the recording of the polarization setups to a Measurement Set. This is done with the flush() function. When it writes the data from a SimPol in its list to the MS, it sets the row number of the window via setRow(); this is used as a flag indicating that the SimPol as been flushed. This allows one to later add additional setups to the list; when flush() is called again, only the new SimPol data are written out. This, of course, assumes that the same output MSPolarization is passed to the flush() function each time. If you want to write all the data to a new POLARIZATION table, you can call clearIds() to clear all the row markers.
A list of polarization setups can be read in from a POLARIZATION table as well using the initFrom() method or the SimPolList(const MSPolarization&, ...) constructor. These will implicitly set the row markers from the input table. This allows one to add new setups to the already recorded set.
create a buffer and fill it with the contents of a POLARIZATION table
make a copy of the container
return the number of setups currently defined.
reset all the row markers used to flag the SimPol members that have been recorded to a Measurement Set already. Thus, the next call to flush() will record all SimPols to the POLARIZATION table. This should be used when writing to a new POLARIZATION table, different from one previously read from or written to.
access the i-th polarization setup in this list.
add a polarization setup for a set of correlations. If the correlations cannot be formed with the given feeds, the correlations will not be added and null is returned.
fill list with the contents of a POLARIZATION table
write out all windows that have yet to be written