34 #ifndef DelayModelRow_CLASS
35 #define DelayModelRow_CLASS
149 class SpectralWindowRow;
1288 Tag getAntennaId()
const;
1486 asdmIDL::DelayModelRowIDL *
toIDL()
const;
1495 void toIDL(asdmIDL::DelayModelRowIDL& x)
const;
1504 void setFromIDL (asdmIDL::DelayModelRowIDL x) ;
1511 std::string
toXML()
const;
1526 std::map<std::string, DelayModelAttributeFromBin>
fromBinMethods;
1576 void fromText(
const std::string& attributeName,
const std::string& t);
double getAtmosphericDryDelay() const
Get atmosphericDryDelay, which is optional.
int getNumLO() const
Get numLO, which is optional.
void setFromIDL(asdmIDL::DelayModelRowIDL x)
Fill the values of this row from the IDL struct DelayModelRowIDL.
double getPadDelay() const
Get padDelay, which is optional.
std::vector< Frequency > LOOffsetRate
DelayModelTable & getTable() const
Return the table to which this row belongs.
bool numLOExists
===> Attribute numLO, which is optional
void clearNumLO()
Mark numLO, which is an optional field, as non-existent.
void setElectronicDelayRate(std::vector< double > electronicDelayRate)
Set electronicDelayRate with the specified std::vector<double >.
bool isReceiverDelayExists() const
===> Attribute receiverDelay, which is optional
void clearPadDelay()
Mark padDelay, which is an optional field, as non-existent.
DelayModelTable & table
The table to which this row belongs.
void atmosphericDryDelayFromBin(EndianIStream &eis)
void IFDelayFromText(const std::string &s)
void setTimeInterval(ArrayTimeInterval timeInterval)
Set timeInterval with the specified ArrayTimeInterval.
void clearIFDelay()
Mark IFDelay, which is an optional field, as non-existent.
double geometricDelayRate
void atmosphericGroupDelayRateFromText(const std::string &s)
void setIFDelay(std::vector< double > IFDelay)
Set IFDelay with the specified std::vector<double >.
void timeIntervalFromText(const std::string &s)
The DelayModelTable class is an Alma table.
bool polarizationTypeExists
===> Attribute polarizationType, which is optional
bool isGeometricDelayRateExists() const
===> Attribute geometricDelayRate, which is optional
void clearAntennaDelay()
Mark antennaDelay, which is an optional field, as non-existent.
std::vector< double > groupDelayRate
===> Attribute groupDelayRate
int getNumReceptor() const
Get numReceptor, which is optional.
void numReceptorFromBin(EndianIStream &eis)
The ArrayTimeInterval class aggregates an instance of ArrayTime and an instance of Interval...
Tag getFieldId() const
===> Attribute fieldId
void polarizationTypeFromText(const std::string &s)
void clearLOOffset()
Mark LOOffset, which is an optional field, as non-existent.
The DelayModelRow class is a row of a DelayModelTable.
void setLOOffset(std::vector< Frequency > LOOffset)
Set LOOffset with the specified std::vector<Frequency >.
void electronicDelayFromBin(EndianIStream &eis)
void receiverDelayFromText(const std::string &s)
void electronicDelayFromText(const std::string &s)
double dispersiveDelayRate
bool numReceptorExists
===> Attribute numReceptor, which is optional
bool atmosphericGroupDelayExists
===> Attribute atmosphericGroupDelay, which is optional
void setFieldId(Tag fieldId)
Set fieldId with the specified Tag.
void clearTimeOrigin()
Mark timeOrigin, which is an optional field, as non-existent.
void setGeometricDelayRate(double geometricDelayRate)
Set geometricDelayRate with the specified double.
void crossPolarizationDelayFromText(const std::string &s)
void geometricDelayFromText(const std::string &s)
std::vector< PolarizationTypeMod::PolarizationType > getPolarizationType() const
Get polarizationType, which is optional.
void LOOffsetRateFromBin(EndianIStream &eis)
FieldRow * getFieldUsingFieldId()
fieldId pointer to the row in the Field table having Field.fieldId == fieldId
void dispersiveDelayRateFromBin(EndianIStream &eis)
bool isNumReceptorExists() const
===> Attribute numReceptor, which is optional
bool isElectronicDelayExists() const
===> Attribute electronicDelay, which is optional
std::vector< double > getElectronicDelay() const
Get electronicDelay, which is optional.
void setSpectralWindowId(Tag spectralWindowId)
Set spectralWindowId with the specified Tag.
void LODelayFromBin(EndianIStream &eis)
bool LOOffsetRateExists
===> Attribute LOOffsetRate, which is optional
void groupDelayRateFromBin(EndianIStream &eis)
bool LODelayExists
===> Attribute LODelay, which is optional
double atmosphericWetDelay
bool LOOffsetExists
===> Attribute LOOffset, which is optional
std::vector< double > getElectronicDelayRate() const
Get electronicDelayRate, which is optional.
void spectralWindowIdFromText(const std::string &s)
bool dispersiveDelayRateExists
===> Attribute dispersiveDelayRate, which is optional
void setPolarizationType(std::vector< PolarizationTypeMod::PolarizationType > polarizationType)
Set polarizationType with the specified std::vector<PolarizationTypeMod::PolarizationType >...
double getGeometricDelayRate() const
Get geometricDelayRate, which is optional.
void setReceiverDelay(std::vector< double > receiverDelay)
Set receiverDelay with the specified std::vector<double >.
bool isLOOffsetRateExists() const
===> Attribute LOOffsetRate, which is optional
double crossPolarizationDelay
void fieldIdFromBin(EndianIStream &eis)
bool compareRequiredValue(int numPoly, std::vector< double > phaseDelay, std::vector< double > phaseDelayRate, std::vector< double > groupDelay, std::vector< double > groupDelayRate, Tag fieldId)
Compare each mandatory value (i.e.
void clearAtmosphericGroupDelay()
Mark atmosphericGroupDelay, which is an optional field, as non-existent.
void setGroupDelay(std::vector< double > groupDelay)
Set groupDelay with the specified std::vector<double >.
bool isPadDelayExists() const
===> Attribute padDelay, which is optional
void toBin(EndianOSStream &eoss)
Serialize this into a stream of bytes written to an EndianOSStream.
void setAtmosphericGroupDelay(double atmosphericGroupDelay)
Set atmosphericGroupDelay with the specified double.
int getNumPoly() const
===> Attribute numPoly
bool dispersiveDelayExists
===> Attribute dispersiveDelay, which is optional
bool antennaDelayExists
===> Attribute antennaDelay, which is optional
void spectralWindowIdFromBin(EndianIStream &eis)
bool isAtmosphericDryDelayExists() const
===> Attribute atmosphericDryDelay, which is optional
double atmosphericGroupDelayRate
std::vector< double > groupDelay
===> Attribute groupDelay
Links *AntennaRow * getAntennaUsingAntennaId()
antennaId pointer to the row in the Antenna table having Antenna.antennaId == antennaId ...
void clearLOOffsetRate()
Mark LOOffsetRate, which is an optional field, as non-existent.
bool isPolarizationTypeExists() const
===> Attribute polarizationType, which is optional
SpectralWindowRow * getSpectralWindowUsingSpectralWindowId()
spectralWindowId pointer to the row in the SpectralWindow table having SpectralWindow.spectralWindowId == spectralWindowId
bool isCrossPolarizationDelayExists() const
===> Attribute crossPolarizationDelay, which is optional
ArrayTime getTimeOrigin() const
Get timeOrigin, which is optional.
void setGeometricDelay(double geometricDelay)
Set geometricDelay with the specified double.
void numPolyFromBin(EndianIStream &eis)
void numLOFromBin(EndianIStream &eis)
Tag spectralWindowId
===> Attribute spectralWindowId
void setNumPoly(int numPoly)
Set numPoly with the specified int.
void dispersiveDelayRateFromText(const std::string &s)
void clearAtmosphericDryDelay()
Mark atmosphericDryDelay, which is an optional field, as non-existent.
void clearDispersiveDelayRate()
Mark dispersiveDelayRate, which is an optional field, as non-existent.
void setLODelay(std::vector< double > LODelay)
Set LODelay with the specified std::vector<double >.
void padDelayFromBin(EndianIStream &eis)
void setPhaseDelay(std::vector< double > phaseDelay)
Set phaseDelay with the specified std::vector<double >.
bool isGeometricDelayExists() const
===> Attribute geometricDelay, which is optional
void clearGeometricDelayRate()
Mark geometricDelayRate, which is an optional field, as non-existent.
void geometricDelayRateFromBin(EndianIStream &eis)
asdmIDL::DelayModelRowIDL * toIDL() const
Return this row in the form of an IDL struct.
void setLOOffsetRate(std::vector< Frequency > LOOffsetRate)
Set LOOffsetRate with the specified std::vector<Frequency >.
void setFromXML(std::string rowDoc)
Fill the values of this row from an XML string that was produced by the toXML() method.
void groupDelayFromText(const std::string &s)
double getGeometricDelay() const
Get geometricDelay, which is optional.
std::string toXML() const
Return this row in the form of an XML string.
std::vector< double > electronicDelay
bool crossPolarizationDelayExists
===> Attribute crossPolarizationDelay, which is optional
bool isAtmosphericGroupDelayExists() const
===> Attribute atmosphericGroupDelay, which is optional
void timeOriginFromBin(EndianIStream &eis)
void setNumReceptor(int numReceptor)
Set numReceptor with the specified int.
void setPhaseDelayRate(std::vector< double > phaseDelayRate)
Set phaseDelayRate with the specified std::vector<double >.
bool atmosphericDryDelayExists
===> Attribute atmosphericDryDelay, which is optional
std::vector< double > IFDelay
void LOOffsetFromText(const std::string &s)
void clearElectronicDelayRate()
Mark electronicDelayRate, which is an optional field, as non-existent.
std::vector< double > getPhaseDelayRate() const
===> Attribute phaseDelayRate
bool electronicDelayRateExists
===> Attribute electronicDelayRate, which is optional
std::vector< Frequency > LOOffset
void clearPolarizationType()
Mark polarizationType, which is an optional field, as non-existent.
void(DelayModelRow::* DelayModelAttributeFromBin)(EndianIStream &eis)
bool atmosphericGroupDelayRateExists
===> Attribute atmosphericGroupDelayRate, which is optional
void setElectronicDelay(std::vector< double > electronicDelay)
Set electronicDelay with the specified std::vector<double >.
void IFDelayFromBin(EndianIStream &eis)
void setAtmosphericWetDelay(double atmosphericWetDelay)
Set atmosphericWetDelay with the specified double.
double getDispersiveDelayRate() const
Get dispersiveDelayRate, which is optional.
void setAtmosphericGroupDelayRate(double atmosphericGroupDelayRate)
Set atmosphericGroupDelayRate with the specified double.
void numReceptorFromText(const std::string &s)
void phaseDelayFromText(const std::string &s)
*text deserialization material std::map< std::string, DelayModelAttributeFromText > fromTextMethods
bool hasBeenAdded
Whether this row has been added to the table or not.
std::vector< double > getGroupDelayRate() const
===> Attribute groupDelayRate
The AntennaRow class is a row of a AntennaTable.
std::vector< double > phaseDelayRate
===> Attribute phaseDelayRate
void fieldIdFromText(const std::string &s)
void clearReceiverDelay()
Mark receiverDelay, which is an optional field, as non-existent.
bool geometricDelayExists
===> Attribute geometricDelay, which is optional
double atmosphericDryDelay
bool isLODelayExists() const
===> Attribute LODelay, which is optional
double getAtmosphericGroupDelayRate() const
Get atmosphericGroupDelayRate, which is optional.
void electronicDelayRateFromText(const std::string &s)
std::vector< double > receiverDelay
std::vector< double > electronicDelayRate
void numLOFromText(const std::string &s)
void timeOriginFromText(const std::string &s)
void geometricDelayFromBin(EndianIStream &eis)
void atmosphericGroupDelayFromText(const std::string &s)
void antennaIdFromText(const std::string &s)
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
void clearDispersiveDelay()
Mark dispersiveDelay, which is an optional field, as non-existent.
void dispersiveDelayFromText(const std::string &s)
bool isDispersiveDelayExists() const
===> Attribute dispersiveDelay, which is optional
void clearGeometricDelay()
Mark geometricDelay, which is an optional field, as non-existent.
bool IFDelayExists
===> Attribute IFDelay, which is optional
Tag getSpectralWindowId() const
===> Attribute spectralWindowId
bool atmosphericWetDelayExists
===> Attribute atmosphericWetDelay, which is optional
std::vector< double > LODelay
double getAtmosphericWetDelay() const
Get atmosphericWetDelay, which is optional.
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
void clearLODelay()
Mark LODelay, which is an optional field, as non-existent.
void setAntennaDelay(double antennaDelay)
Set antennaDelay with the specified double.
void setGroupDelayRate(std::vector< double > groupDelayRate)
Set groupDelayRate with the specified std::vector<double >.
bool compareNoAutoInc(Tag antennaId, Tag spectralWindowId, ArrayTimeInterval timeInterval, int numPoly, std::vector< double > phaseDelay, std::vector< double > phaseDelayRate, std::vector< double > groupDelay, std::vector< double > groupDelayRate, Tag fieldId)
Compare each mandatory attribute except the autoincrementable one of this DelayModelRow with the corr...
bool electronicDelayExists
===> Attribute electronicDelay, which is optional
void geometricDelayRateFromText(const std::string &s)
void clearAtmosphericWetDelay()
Mark atmosphericWetDelay, which is an optional field, as non-existent.
void LODelayFromText(const std::string &s)
void clearNumReceptor()
Mark numReceptor, which is an optional field, as non-existent.
bool padDelayExists
===> Attribute padDelay, which is optional
bool isAdded() const
Has this row been added to its table ?
bool receiverDelayExists
===> Attribute receiverDelay, which is optional
The FieldRow class is a row of a FieldTable.
void setDispersiveDelayRate(double dispersiveDelayRate)
Set dispersiveDelayRate with the specified double.
void atmosphericGroupDelayRateFromBin(EndianIStream &eis)
double getAtmosphericGroupDelay() const
Get atmosphericGroupDelay, which is optional.
Links *binary deserialization material from an EndianIStream std::map< std::string, DelayModelAttributeFromBin > fromBinMethods
void antennaIdFromBin(EndianIStream &eis)
bool isNumLOExists() const
===> Attribute numLO, which is optional
bool isAntennaDelayExists() const
===> Attribute antennaDelay, which is optional
void electronicDelayRateFromBin(EndianIStream &eis)
virtual ~DelayModelRow()
friend class asdm::TableStreamReader<DelayModelTable, DelayModelRow>;
void receiverDelayFromBin(EndianIStream &eis)
void padDelayFromText(const std::string &s)
std::vector< PolarizationTypeMod::PolarizationType > polarizationType
int numPoly
===> Attribute numPoly
bool timeOriginExists
===> Attribute timeOrigin, which is optional
void antennaDelayFromBin(EndianIStream &eis)
bool isIFDelayExists() const
===> Attribute IFDelay, which is optional
void antennaDelayFromText(const std::string &s)
bool isTimeOriginExists() const
===> Attribute timeOrigin, which is optional
DelayModelRow(DelayModelTable &table)
Create a DelayModelRow.
void setAtmosphericDryDelay(double atmosphericDryDelay)
Set atmosphericDryDelay with the specified double.
void numPolyFromText(const std::string &s)
bool geometricDelayRateExists
===> Attribute geometricDelayRate, which is optional
void timeIntervalFromBin(EndianIStream &eis)
void LOOffsetRateFromText(const std::string &s)
void setTimeOrigin(ArrayTime timeOrigin)
Set timeOrigin with the specified ArrayTime.
void clearCrossPolarizationDelay()
Mark crossPolarizationDelay, which is an optional field, as non-existent.
void LOOffsetFromBin(EndianIStream &eis)
void groupDelayRateFromText(const std::string &s)
double getDispersiveDelay() const
Get dispersiveDelay, which is optional.
Tag fieldId
===> Attribute fieldId
std::vector< double > getReceiverDelay() const
Get receiverDelay, which is optional.
void dispersiveDelayFromBin(EndianIStream &eis)
std::vector< double > getGroupDelay() const
===> Attribute groupDelay
void atmosphericGroupDelayFromBin(EndianIStream &eis)
void setPadDelay(double padDelay)
Set padDelay with the specified double.
void setAntennaId(Tag antennaId)
Set antennaId with the specified Tag.
void(DelayModelRow::* DelayModelAttributeFromText)(const std::string &s)
bool isDispersiveDelayRateExists() const
===> Attribute dispersiveDelayRate, which is optional
double getCrossPolarizationDelay() const
Get crossPolarizationDelay, which is optional.
std::vector< double > getPhaseDelay() const
===> Attribute phaseDelay
void setCrossPolarizationDelay(double crossPolarizationDelay)
Set crossPolarizationDelay with the specified double.
The SpectralWindowRow class is a row of a SpectralWindowTable.
bool isElectronicDelayRateExists() const
===> Attribute electronicDelayRate, which is optional
void clearElectronicDelay()
Mark electronicDelay, which is an optional field, as non-existent.
bool equalByRequiredValue(DelayModelRow *x)
Return true if all required attributes of the value part are equal to their homologues in x and false...
void setNumLO(int numLO)
Set numLO with the specified int.
void atmosphericWetDelayFromText(const std::string &s)
std::vector< Frequency > getLOOffset() const
Get LOOffset, which is optional.
double getAntennaDelay() const
Get antennaDelay, which is optional.
std::vector< Frequency > getLOOffsetRate() const
Get LOOffsetRate, which is optional.
std::vector< double > phaseDelay
===> Attribute phaseDelay
void setDispersiveDelay(double dispersiveDelay)
Set dispersiveDelay with the specified double.
double atmosphericGroupDelay
bool isLOOffsetExists() const
===> Attribute LOOffset, which is optional
void crossPolarizationDelayFromBin(EndianIStream &eis)
void phaseDelayRateFromBin(EndianIStream &eis)
void phaseDelayFromBin(EndianIStream &eis)
void atmosphericDryDelayFromText(const std::string &s)
std::vector< double > getLODelay() const
Get LODelay, which is optional.
void clearAtmosphericGroupDelayRate()
Mark atmosphericGroupDelayRate, which is an optional field, as non-existent.
void phaseDelayRateFromText(const std::string &s)
std::vector< double > getIFDelay() const
Get IFDelay, which is optional.
bool isAtmosphericWetDelayExists() const
===> Attribute atmosphericWetDelay, which is optional
bool isAtmosphericGroupDelayRateExists() const
===> Attribute atmosphericGroupDelayRate, which is optional
void atmosphericWetDelayFromBin(EndianIStream &eis)
void polarizationTypeFromBin(EndianIStream &eis)
void groupDelayFromBin(EndianIStream &eis)