CalAppPhaseTable

class CalAppPhaseTable(container)[source]

Bases: object

The CalAppPhaseTable class is an Alma table.

The CalAppPhase table is relevant to the ALMA observatory when the antennas are being phased to form a coherent sum during the observation. For each scan, the table provides information about which antennas are included in the sum, their relative phase adjustments, the efficiency of the sum (relative to best performance) and the quality of each antenna participating in the system. This data is used in real-time to provide the phased sum signal, and after the observation to analyze the result.

Shown here are the fields found in each row.

The key fields are shown first and used (together) to index a unique row. Key fields are all required and indicated by “Key.” following the description.

Other fields are required unless “optional” is shown for that field.

The field description text here is as found in the model used to generate the code.

Types may be an enumeration or extended pyasdm type. Fields that are python lists are indicated that by “[]” in the type and having the word “Array” at the start of description followed by the expected number of elements in that list in parentheses. Lists (arrays) may be multi-dimensional (lists of lists) and are indicated by [][] … etc as needed to indicate the expected number of dimensions. Multi-dimenstional lists will show the expected number of elements for each dimension also in the parenthese after “Array”.

The use of “auto-incrementable” indicates that that field is auto-generated when the table is created and that field is set, as necessary, to create a unique key for the specific row being added, by incrementing that value from the previous highest value needed for the rest of the elements of the key on that row. Such a field can not be set independently, it is only set when the row is added to the table by that auto-increment mechanism.

basebandName

identifies the baseband. key.

Type

BasebandName

scanNumber

The number of the scan processed by TELCAL. Along with an ExecBlock Id (which should be ExecBlock_0 most of the time), the value of scanNumber can be used as the key to retrieve informations related to the scan (e.g. its start time). key.

Type

int

calDataId

identifies a unique row in the CalData table. key.

Type

Tag

calReductionId

identifies a unique row in the CalReduction table. key.

Type

Tag

startValidTime

start of phasing solution validity.

Type

ArrayTime

endValidTime

end of phasing solution validity.

Type

ArrayTime

adjustTime

The time of the last adjustment to the phasing analysis via the ParameterTuning interface.

Type

ArrayTime

adjustToken

A parameter supplied via the ParameterTuning interface to indicate the form of adjustment(s) made at adjustTime. Note that TELCAL merely passes this datum and adjustTime through to this table.

Type

str

phasingMode

The mode in which the phasing system is being operated.

Type

str

numPhasedAntennas

the number of antennas in phased sum, N_p.

Type

int

phasedAntennas

Array(numPhasedAntennas) the names of the phased antennas.

Type

str []

refAntennaIndex

the index of the reference antenna in the array phasedAntennas . It must be an integer value in the interval [0, N_p-1].

Type

int

candRefAntennaIndex

tne index of a candidate (new) reference antenna in the array phasedAntennas; it must be a integer in the interval [0, N_p-1].

Type

int

phasePacking

how to unpack phaseValues.

Type

str

numReceptors

the number of receptors per antenna, N_r.The number (N_r <= 2 ) of receptors per antenna, usually two (polarizations), but it might be one in special cases.

Type

int

numChannels

the number of data channels, N_d.

Type

int

numPhaseValues

The number of phase data values present in the table, N_v.

Type

int

phaseValues

Array(numPhaseValues) the array of phase data values.

Type

float []

numCompare

the number of comparison antennas, N_c.

Type

int

numEfficiencies

the number of efficiencies, N_e.

Type

int

compareArray

Array(numCompare) the names of the comparison antennas.

Type

str []

efficiencyIndices

Array(numEfficiencies) indices of the antenna(s) in compareArray used to calculate efficiencies; they must be distinct integers in the interval [0, N_c].

Type

int []

efficiencies

Array(numEfficiencies, numChannels) an array of efficiencies of phased sum.

Type

float [] []

quality

Array(numPhasedAntennas+numCompare) quality of phased antennas.

Type

float []

phasedSumAntenna

the name of the phased sum antenna.

Type

str

typeSupports

encoding of supporting data values. Optional.

Type

str

numSupports

the number of supporting data values, N_s. Optional.

Type

int

phaseSupports

Array(numSupports) an array of supporting data values. Optional.

Type

float []

Methods Summary

Key(basebandName, scanNumber, calDataId, …)

Returns a string built by concatenating the ascii representation of the parameters values suffixed with a “_” character.

MIMEXMLPart(byteOrder)

Used in both the small XML file as well as the bin file when writing out as binary.

add(x)

Add a row.

checkAndAdd(x)

A method to append a row to it’s table, used by input conversion methods.

checkPresenceInMemory()

Check if the table is present in memory.

fromXML(xmlstr)

Populate this table from the content of a XML document that is required to conform to the XML schema defined for a CalAppPhase (CalAppPhaseTable.xsd).

get()

Get all rows.

getContainer()

Return the container to which this table belongs.

getEntity()

Returns the table’s entity.

getKeyName()

Return the list of field names that make up key key as a list of strings.

getName()

Return the name of this table.

getRowByKey(basebandName, scanNumber, …)

Returns a CalAppPhaseRow given a key.

getRows()

get the rows, synonymous with the get method.

getVersion()

lookup(basebandName, scanNumber, calDataId, …)

Look up the table for a row whose all attributes are equal to the corresponding parameters of the method.

newRow(basebandName, scanNumber, calDataId, …)

Create a new CalAppPhaseRow initialized to the specified values.

newRowCopy(row)

Create a new row using a copy constructor mechanism.

newRowDefault()

Create a new row with default values.

setEntity(e)

Set the table’s entity The parameter, e, must be an Entity

setFromFile(directory)

Reads and parses a file containing a representation of a CalAppPhaseTable as those produced by the toFile method.

setFromMIME(byteStream)

Extracts the binary part of a MIME message and deserialize its content to fill this with the result of the deserialization.

setFromMIMEFile(directory)

Set this table from a MIME file.

setFromXMLFile(directory)

This is the function used by setFromFile when the file is an XML file Not intended for external use.

setNotPresentInMemory()

Set the state to indicate it is not present in memory and needs to be loaded before being used.

setVersion(version)

size()

Return the number of rows in the table.

toFile(directory)

Stores a representation (binary or XML) of this table into a file.

toMIME(mimeFilePath, mimeXMLpart, byteOrder)

Write this out to mimeFilePath as a serialized MIME file with a leading XML part and a following binary part.

toXML()

Translate this table to an XML representation conforming to the schema defined for CalAppPhase (CalAppPhaseTable.xsd).

Methods Documentation

Key(basebandName, scanNumber, calDataId, calReductionId)[source]

Returns a string built by concatenating the ascii representation of the parameters values suffixed with a “_” character.

MIMEXMLPart(byteOrder)[source]

Used in both the small XML file as well as the bin file when writing out as binary. The byte order is set by byteOrder.

add(x)[source]

Add a row. raises a DuplicateKey Thrown if the new row has a key that is already in the table. If x is a list then this method is called recursively on each element of that list. In that case, None is returned. returns the row that was added.

checkAndAdd(x)[source]

A method to append a row to it’s table, used by input conversion methods. Not indended for external use.

If this table has an autoincrementable attribute then check if x verifies the rule of uniqueness and raise an exception if not.

Append x to its table. x is the row to be appended. returns x.

checkPresenceInMemory()[source]

Check if the table is present in memory. If not, load the table from the file using the directory of the container.

fromXML(xmlstr)[source]

Populate this table from the content of a XML document that is required to conform to the XML schema defined for a CalAppPhase (CalAppPhaseTable.xsd).

get()[source]

Get all rows. return Alls rows as a list of CalAppPhaseRow

getContainer()[source]

Return the container to which this table belongs. return a ASDM.

getEntity()[source]

Returns the table’s entity.

getKeyName()[source]

Return the list of field names that make up key key as a list of strings.

getName()[source]

Return the name of this table.

getRowByKey(basebandName, scanNumber, calDataId, calReductionId)[source]

Returns a CalAppPhaseRow given a key. return the row having the key whose values are passed as parameters, or None if no row exists for that key.

param basebandName.

param scanNumber.

param calDataId.

param calReductionId.

getRows()[source]

get the rows, synonymous with the get method.

getVersion()[source]
lookup(basebandName, scanNumber, calDataId, calReductionId, startValidTime, endValidTime, adjustTime, adjustToken, phasingMode, numPhasedAntennas, phasedAntennas, refAntennaIndex, candRefAntennaIndex, phasePacking, numReceptors, numChannels, numPhaseValues, phaseValues, numCompare, numEfficiencies, compareArray, efficiencyIndices, efficiencies, quality, phasedSumAntenna)[source]

Look up the table for a row whose all attributes are equal to the corresponding parameters of the method. return this row if any, None otherwise.

param basebandName.

param scanNumber.

param calDataId.

param calReductionId.

param startValidTime.

param endValidTime.

param adjustTime.

param adjustToken.

param phasingMode.

param numPhasedAntennas.

param phasedAntennas.

param refAntennaIndex.

param candRefAntennaIndex.

param phasePacking.

param numReceptors.

param numChannels.

param numPhaseValues.

param phaseValues.

param numCompare.

param numEfficiencies.

param compareArray.

param efficiencyIndices.

param efficiencies.

param quality.

param phasedSumAntenna.

newRow(basebandName, scanNumber, calDataId, calReductionId, startValidTime, endValidTime, adjustTime, adjustToken, phasingMode, numPhasedAntennas, phasedAntennas, refAntennaIndex, candRefAntennaIndex, phasePacking, numReceptors, numChannels, numPhaseValues, phaseValues, numCompare, numEfficiencies, compareArray, efficiencyIndices, efficiencies, quality, phasedSumAntenna)[source]

Create a new CalAppPhaseRow initialized to the specified values.

The new row is not added to this table, but it does know about it. (the autoincrementable attribute, if any, is not in the parameter list)

newRowCopy(row)[source]

Create a new row using a copy constructor mechanism.

The method creates a new CalAppPhaseRow which knows about this table. Each attribute of the created row is a (deep) copy of the corresponding attribute of row. The method does not add the created row to this, it simply parents it to this, a call to the add method has to be done in order to get the row added (very likely after having modified some of its attributes. If row is None then the method returns a new CalAppPhaseRow with default values for its attributes.

newRowDefault()[source]

Create a new row with default values. The new row is not added to this table but it knows about it.

setEntity(e)[source]

Set the table’s entity The parameter, e, must be an Entity

setFromFile(directory)[source]

Reads and parses a file containing a representation of a CalAppPhaseTable as those produced by the toFile method. This table is populated with the result of the parsing. param directory The name of the directory containing the file te be read and parsed. raises ConversionException If any error occurs while reading the files in the directory or parsing them.

setFromMIME(byteStream)[source]

Extracts the binary part of a MIME message and deserialize its content to fill this with the result of the deserialization. param byteStream the previously opened io.BufferedReader instance containing the data to be extracted.

It is the responsibility of this method to close byteStream.

setFromMIMEFile(directory)[source]

Set this table from a MIME file. Used internally by setFromFile. Not intended for external use.

setFromXMLFile(directory)[source]

This is the function used by setFromFile when the file is an XML file Not intended for external use.

setNotPresentInMemory()[source]

Set the state to indicate it is not present in memory and needs to be loaded before being used. This is used by the container class when loaded from a file and this table is present with non-zero rows. Tables are loaded on demand when the get function in the container for that table is used.

setVersion(version)[source]
size()[source]

Return the number of rows in the table.

toFile(directory)[source]

Stores a representation (binary or XML) of this table into a file.

Depending on the boolean value of its _fileAsBin data member a binary serialization of this (_fileAsBin==True) will be saved in a file “CalAppPhase.bin” or an XML representation (_fileAsBin==False) will be saved in a file “CalAppPhase.xml”. The file is always written in a directory whose name is passed as a parameter. param directory The name of directory where the file containing the table’s representation will be saved. raises ConversionException for any errors while writing that file.

toMIME(mimeFilePath, mimeXMLpart, byteOrder)[source]

Write this out to mimeFilePath as a serialized MIME file with a leading XML part and a following binary part.

The mimeXMLpart is a string that should have already been written to the corresponding small XML file (and is returned by the MIMEXMLPart method here). The byteOrder is a ByteOrder instance that gives the byte order to use when writing the binary data. That instance should have also been used to generate mimeXMLpart.

toXML()[source]

Translate this table to an XML representation conforming to the schema defined for CalAppPhase (CalAppPhaseTable.xsd).

returns a string containing the XML representation.