34 #ifndef SourceRow_CLASS
35 #define SourceRow_CLASS
192 class SpectralWindowRow;
240 int getSourceId()
const;
1157 std::vector<std::vector<Flux > >
getFlux()
const;
1168 void setFlux (std::vector<std::vector<Flux > >
flux);
1198 std::vector<std::vector<Flux > >
getFluxErr()
const;
1321 std::vector<std::vector<Angle > >
getSize()
const;
1332 void setSize (std::vector<std::vector<Angle > >
size);
1362 std::vector<std::vector<Angle > >
getSizeErr()
const;
1403 RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode
getVelRefCode()
const;
1605 Tag getSpectralWindowId()
const;
1701 asdmIDL::SourceRowIDL *
toIDL()
const;
1710 void toIDL(asdmIDL::SourceRowIDL& x)
const;
1726 std::string
toXML()
const;
1796 void fromText(
const std::string& attributeName,
const std::string& t);
2165 std::vector<std::vector<Flux > >
flux;
2217 std::vector<std::vector<Angle > >
size;
2243 RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode
velRefCode;
2310 Tag spectralWindowId;
void clearTransition()
Mark transition, which is an optional field, as non-existent.
int getNumStokes() const
Get numStokes, which is optional.
bool isDirectionEquinoxExists() const
===> Attribute directionEquinox, which is optional
std::vector< AngularRate > properMotion
===> Attribute properMotion
void clearFrequencyRefCode()
Mark frequencyRefCode, which is an optional field, as non-existent.
int getNumLines() const
Get numLines, which is optional.
bool isPositionExists() const
===> Attribute position, which is optional
SourceModelMod::SourceModel getSourceModel() const
Get sourceModel, which is optional.
std::vector< Angle > positionAngle
bool numStokesExists
===> Attribute numStokes, which is optional
ArrayTime getDirectionEquinox() const
Get directionEquinox, which is optional.
void clearNumLines()
Mark numLines, which is an optional field, as non-existent.
void fluxFromBin(EndianIStream &eis)
asdmIDL::SourceRowIDL * toIDL() const
Return this row in the form of an IDL struct.
void frequencyIntervalFromText(const std::string &s)
bool isCalibrationGroupExists() const
===> Attribute calibrationGroup, which is optional
void setNumLines(int numLines)
Set numLines with the specified int.
void setFrequencyInterval(std::vector< Frequency > frequencyInterval)
Set frequencyInterval with the specified std::vector<Frequency >.
void setDirectionEquinox(ArrayTime directionEquinox)
Set directionEquinox with the specified ArrayTime.
void setSize(std::vector< std::vector< Angle > > size)
Set size with the specified std::vector<std::vector<Angle > >.
bool isFluxErrExists() const
===> Attribute fluxErr, which is optional
RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode getDopplerReferenceSystem() const
Get dopplerReferenceSystem, which is optional.
bool frequencyExists
===> Attribute frequency, which is optional
bool isSourceModelExists() const
===> Attribute sourceModel, which is optional
void clearRestFrequency()
Mark restFrequency, which is an optional field, as non-existent.
bool deltaVelExists
===> Attribute deltaVel, which is optional
void setNumFreq(int numFreq)
Set numFreq with the specified int.
void catalogFromText(const std::string &s)
bool sysVelExists
===> Attribute sysVel, which is optional
bool compareRequiredValue(std::string code, std::vector< Angle > direction, std::vector< AngularRate > properMotion, std::string sourceName)
Compare each mandatory value (i.e.
*text deserialization material std::map< std::string, SourceAttributeFromText > fromTextMethods
std::vector< std::string > transition
bool isAdded() const
Has this row been added to its table ?
std::vector< std::vector< Angle > > size
void properMotionFromText(const std::string &s)
bool dopplerReferenceSystemExists
===> Attribute dopplerReferenceSystem, which is optional
void directionCodeFromText(const std::string &s)
The ArrayTimeInterval class aggregates an instance of ArrayTime and an instance of Interval...
void setSizeErr(std::vector< std::vector< Angle > > sizeErr)
Set sizeErr with the specified std::vector<std::vector<Angle > >.
void(SourceRow::* SourceAttributeFromBin)(EndianIStream &eis)
bool isDopplerVelocityExists() const
===> Attribute dopplerVelocity, which is optional
std::vector< Frequency > frequency
void parallaxFromText(const std::string &s)
void(SourceRow::* SourceAttributeFromText)(const std::string &s)
DopplerReferenceCodeMod::DopplerReferenceCode dopplerCalcType
void clearSize()
Mark size, which is an optional field, as non-existent.
std::vector< std::vector< Angle > > sizeErr
void clearPositionAngle()
Mark positionAngle, which is an optional field, as non-existent.
void clearPosition()
Mark position, which is an optional field, as non-existent.
void setFluxErr(std::vector< std::vector< Flux > > fluxErr)
Set fluxErr with the specified std::vector<std::vector<Flux > >.
void setDirection(std::vector< Angle > direction)
Set direction with the specified std::vector<Angle >.
void timeIntervalFromText(const std::string &s)
std::vector< Frequency > getFrequency() const
Get frequency, which is optional.
bool parallaxExists
===> Attribute parallax, which is optional
void setFlux(std::vector< std::vector< Flux > > flux)
Set flux with the specified std::vector<std::vector<Flux > >.
std::vector< Speed > dopplerVelocity
void frequencyRefCodeFromText(const std::string &s)
int getNumFreq() const
Get numFreq, which is optional.
void transitionFromBin(EndianIStream &eis)
void setSpectralWindowId(Tag spectralWindowId)
Set spectralWindowId with the specified Tag.
bool compareNoAutoInc(ArrayTimeInterval timeInterval, Tag spectralWindowId, std::string code, std::vector< Angle > direction, std::vector< AngularRate > properMotion, std::string sourceName)
Compare each mandatory attribute except the autoincrementable one of this SourceRow with the correspo...
The SourceTable class is an Alma table.
void clearNumFreq()
Mark numFreq, which is an optional field, as non-existent.
bool hasBeenAdded
Whether this row has been added to the table or not.
std::vector< Length > position
void clearDirectionCode()
Mark directionCode, which is an optional field, as non-existent.
bool isVelRefCodeExists() const
===> Attribute velRefCode, which is optional
void sizeFromBin(EndianIStream &eis)
ArrayTimeInterval timeInterval
===> Attribute timeInterval
virtual ~SourceRow()
friend class asdm::TableStreamReader<SourceTable, SourceRow>;
bool rangeVelExists
===> Attribute rangeVel, which is optional
bool equalByRequiredValue(SourceRow *x)
Return true if all required attributes of the value part are equal to their homologues in x and false...
The SourceRow class is a row of a SourceTable.
void positionAngleFromBin(EndianIStream &eis)
void calibrationGroupFromText(const std::string &s)
void sysVelFromText(const std::string &s)
void sizeErrFromText(const std::string &s)
void setPosition(std::vector< Length > position)
Set position with the specified std::vector<Length >.
void calibrationGroupFromBin(EndianIStream &eis)
bool isNumStokesExists() const
===> Attribute numStokes, which is optional
bool restFrequencyExists
===> Attribute restFrequency, which is optional
void clearSysVel()
Mark sysVel, which is an optional field, as non-existent.
void positionFromBin(EndianIStream &eis)
SourceTable & table
The table to which this row belongs.
bool isCatalogExists() const
===> Attribute catalog, which is optional
void setDopplerCalcType(DopplerReferenceCodeMod::DopplerReferenceCode dopplerCalcType)
Set dopplerCalcType with the specified DopplerReferenceCodeMod::DopplerReferenceCode.
void setRangeVel(std::vector< Speed > rangeVel)
Set rangeVel with the specified std::vector<Speed >.
bool isNumLinesExists() const
===> Attribute numLines, which is optional
void rangeVelFromBin(EndianIStream &eis)
bool positionAngleExists
===> Attribute positionAngle, which is optional
ArrayTime directionEquinox
void clearSourceModel()
Mark sourceModel, which is an optional field, as non-existent.
void clearFrequency()
Mark frequency, which is an optional field, as non-existent.
bool sourceModelExists
===> Attribute sourceModel, which is optional
Links *binary deserialization material from an EndianIStream std::map< std::string, SourceAttributeFromBin > fromBinMethods
std::string getCode() const
===> Attribute code
void clearNumStokes()
Mark numStokes, which is an optional field, as non-existent.
FrequencyReferenceCodeMod::FrequencyReferenceCode frequencyRefCode
std::vector< std::string > getTransition() const
Get transition, which is optional.
void setVelRefCode(RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode velRefCode)
Set velRefCode with the specified RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode.
void sizeFromText(const std::string &s)
std::vector< Frequency > restFrequency
void positionAngleErrFromText(const std::string &s)
void setCalibrationGroup(int calibrationGroup)
Set calibrationGroup with the specified int.
void dopplerReferenceSystemFromBin(EndianIStream &eis)
std::string getSourceName() const
===> Attribute sourceName
std::vector< Speed > getSysVel() const
Get sysVel, which is optional.
std::vector< Speed > getDopplerVelocity() const
Get dopplerVelocity, which is optional.
bool transitionExists
===> Attribute transition, which is optional
std::vector< std::vector< Flux > > getFlux() const
Get flux, which is optional.
void setTimeInterval(ArrayTimeInterval timeInterval)
Set timeInterval with the specified ArrayTimeInterval.
void rangeVelFromText(const std::string &s)
bool directionEquinoxExists
===> Attribute directionEquinox, which is optional
void properMotionFromBin(EndianIStream &eis)
void numStokesFromText(const std::string &s)
void sizeErrFromBin(EndianIStream &eis)
void setFrequency(std::vector< Frequency > frequency)
Set frequency with the specified std::vector<Frequency >.
bool isFrequencyExists() const
===> Attribute frequency, which is optional
void dopplerVelocityFromBin(EndianIStream &eis)
void restFrequencyFromBin(EndianIStream &eis)
void directionCodeFromBin(EndianIStream &eis)
std::vector< Angle > getPositionAngleErr() const
Get positionAngleErr, which is optional.
Speed getDeltaVel() const
Get deltaVel, which is optional.
void setFrequencyRefCode(FrequencyReferenceCodeMod::FrequencyReferenceCode frequencyRefCode)
Set frequencyRefCode with the specified FrequencyReferenceCodeMod::FrequencyReferenceCode.
void setSourceModel(SourceModelMod::SourceModel sourceModel)
Set sourceModel with the specified SourceModelMod::SourceModel.
bool isFrequencyRefCodeExists() const
===> Attribute frequencyRefCode, which is optional
SourceTable & getTable() const
Return the table to which this row belongs.
bool directionCodeExists
===> Attribute directionCode, which is optional
ArrayTimeInterval getTimeInterval() const
===> Attribute timeInterval
void numLinesFromText(const std::string &s)
void frequencyIntervalFromBin(EndianIStream &eis)
void restFrequencyFromText(const std::string &s)
void positionFromText(const std::string &s)
void clearDopplerVelocity()
Mark dopplerVelocity, which is an optional field, as non-existent.
std::vector< Angle > getPositionAngle() const
Get positionAngle, which is optional.
bool isRestFrequencyExists() const
===> Attribute restFrequency, which is optional
DirectionReferenceCodeMod::DirectionReferenceCode directionCode
bool isSizeExists() const
===> Attribute size, which is optional
void dopplerReferenceSystemFromText(const std::string &s)
void catalogFromBin(EndianIStream &eis)
RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode getVelRefCode() const
Get velRefCode, which is optional.
std::vector< Frequency > getFrequencyInterval() const
Get frequencyInterval, which is optional.
void setFromXML(std::string rowDoc)
Fill the values of this row from an XML string that was produced by the toXML() method.
void sourceNameFromText(const std::string &s)
bool catalogExists
===> Attribute catalog, which is optional
std::vector< Frequency > getRestFrequency() const
Get restFrequency, which is optional.
bool dopplerCalcTypeExists
===> Attribute dopplerCalcType, which is optional
void fluxFromText(const std::string &s)
std::vector< std::vector< Flux > > flux
void numFreqFromText(const std::string &s)
bool velRefCodeExists
===> Attribute velRefCode, which is optional
void clearCatalog()
Mark catalog, which is an optional field, as non-existent.
void sourceModelFromBin(EndianIStream &eis)
void clearFrequencyInterval()
Mark frequencyInterval, which is an optional field, as non-existent.
void clearDirectionEquinox()
Mark directionEquinox, which is an optional field, as non-existent.
std::string sourceName
===> Attribute sourceName
bool isDirectionCodeExists() const
===> Attribute directionCode, which is optional
bool isRangeVelExists() const
===> Attribute rangeVel, which is optional
void positionAngleFromText(const std::string &s)
bool isDopplerReferenceSystemExists() const
===> Attribute dopplerReferenceSystem, which is optional
bool isStokesParameterExists() const
===> Attribute stokesParameter, which is optional
bool isFrequencyIntervalExists() const
===> Attribute frequencyInterval, which is optional
void clearSizeErr()
Mark sizeErr, which is an optional field, as non-existent.
void spectralWindowIdFromBin(EndianIStream &eis)
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
bool frequencyRefCodeExists
===> Attribute frequencyRefCode, which is optional
void codeFromText(const std::string &s)
std::vector< StokesParameterMod::StokesParameter > stokesParameter
bool isFluxExists() const
===> Attribute flux, which is optional
void setCode(std::string code)
Set code with the specified std::string.
void sourceIdFromText(const std::string &s)
void timeIntervalFromBin(EndianIStream &eis)
bool isDopplerCalcTypeExists() const
===> Attribute dopplerCalcType, which is optional
void setCatalog(std::string catalog)
Set catalog with the specified std::string.
bool frequencyIntervalExists
===> Attribute frequencyInterval, which is optional
void frequencyFromText(const std::string &s)
void dopplerCalcTypeFromText(const std::string &s)
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
void positionAngleErrFromBin(EndianIStream &eis)
void setTransition(std::vector< std::string > transition)
Set transition with the specified std::vector<std::string >.
std::vector< Angle > parallax
void codeFromBin(EndianIStream &eis)
void sourceModelFromText(const std::string &s)
std::vector< StokesParameterMod::StokesParameter > getStokesParameter() const
Get stokesParameter, which is optional.
bool dopplerVelocityExists
===> Attribute dopplerVelocity, which is optional
FrequencyReferenceCodeMod::FrequencyReferenceCode getFrequencyRefCode() const
Get frequencyRefCode, which is optional.
void sourceIdFromBin(EndianIStream &eis)
void transitionFromText(const std::string &s)
void velRefCodeFromBin(EndianIStream &eis)
void clearDopplerReferenceSystem()
Mark dopplerReferenceSystem, which is an optional field, as non-existent.
bool positionExists
===> Attribute position, which is optional
std::vector< Frequency > frequencyInterval
void setDeltaVel(Speed deltaVel)
Set deltaVel with the specified Speed.
std::vector< std::vector< Angle > > getSize() const
Get size, which is optional.
void clearParallax()
Mark parallax, which is an optional field, as non-existent.
std::vector< std::vector< Angle > > getSizeErr() const
Get sizeErr, which is optional.
bool isSysVelExists() const
===> Attribute sysVel, which is optional
void clearPositionAngleErr()
Mark positionAngleErr, which is an optional field, as non-existent.
std::vector< Speed > getRangeVel() const
Get rangeVel, which is optional.
void clearDopplerCalcType()
Mark dopplerCalcType, which is an optional field, as non-existent.
bool fluxErrExists
===> Attribute fluxErr, which is optional
void numLinesFromBin(EndianIStream &eis)
RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode dopplerReferenceSystem
void setSysVel(std::vector< Speed > sysVel)
Set sysVel with the specified std::vector<Speed >.
void dopplerCalcTypeFromBin(EndianIStream &eis)
bool positionAngleErrExists
===> Attribute positionAngleErr, which is optional
void deltaVelFromBin(EndianIStream &eis)
void setPositionAngle(std::vector< Angle > positionAngle)
Set positionAngle with the specified std::vector<Angle >.
std::string getCatalog() const
Get catalog, which is optional.
void setDopplerVelocity(std::vector< Speed > dopplerVelocity)
Set dopplerVelocity with the specified std::vector<Speed >.
void setFromIDL(asdmIDL::SourceRowIDL x)
Fill the values of this row from the IDL struct SourceRowIDL.
bool sizeErrExists
===> Attribute sizeErr, which is optional
void clearDeltaVel()
Mark deltaVel, which is an optional field, as non-existent.
void clearVelRefCode()
Mark velRefCode, which is an optional field, as non-existent.
std::string code
===> Attribute code
void directionEquinoxFromBin(EndianIStream &eis)
void clearStokesParameter()
Mark stokesParameter, which is an optional field, as non-existent.
void clearFlux()
Mark flux, which is an optional field, as non-existent.
std::vector< Speed > rangeVel
bool numFreqExists
===> Attribute numFreq, which is optional
std::vector< Length > getPosition() const
Get position, which is optional.
void frequencyFromBin(EndianIStream &eis)
void stokesParameterFromBin(EndianIStream &eis)
void setRestFrequency(std::vector< Frequency > restFrequency)
Set restFrequency with the specified std::vector<Frequency >.
void deltaVelFromText(const std::string &s)
SourceModelMod::SourceModel sourceModel
bool sizeExists
===> Attribute size, which is optional
void directionFromText(const std::string &s)
void directionEquinoxFromText(const std::string &s)
int getCalibrationGroup() const
Get calibrationGroup, which is optional.
void toBin(EndianOSStream &eoss)
Serialize this into a stream of bytes written to an EndianOSStream.
bool isSizeErrExists() const
===> Attribute sizeErr, which is optional
bool isDeltaVelExists() const
===> Attribute deltaVel, which is optional
std::vector< Angle > getDirection() const
===> Attribute direction
bool numLinesExists
===> Attribute numLines, which is optional
void setPositionAngleErr(std::vector< Angle > positionAngleErr)
Set positionAngleErr with the specified std::vector<Angle >.
void velRefCodeFromText(const std::string &s)
void sysVelFromBin(EndianIStream &eis)
DopplerReferenceCodeMod::DopplerReferenceCode getDopplerCalcType() const
Get dopplerCalcType, which is optional.
void clearFluxErr()
Mark fluxErr, which is an optional field, as non-existent.
bool isTransitionExists() const
===> Attribute transition, which is optional
SourceRow(SourceTable &table)
Create a SourceRow.
void frequencyRefCodeFromBin(EndianIStream &eis)
The Speed class implements a quantity of speed in meters per second.
std::vector< Angle > getParallax() const
Get parallax, which is optional.
bool isPositionAngleExists() const
===> Attribute positionAngle, which is optional
void numStokesFromBin(EndianIStream &eis)
void numFreqFromBin(EndianIStream &eis)
RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode velRefCode
bool stokesParameterExists
===> Attribute stokesParameter, which is optional
void directionFromBin(EndianIStream &eis)
std::vector< std::vector< Flux > > getFluxErr() const
Get fluxErr, which is optional.
std::string toXML() const
Return this row in the form of an XML string.
void stokesParameterFromText(const std::string &s)
The SpectralWindowRow class is a row of a SpectralWindowTable.
void clearCalibrationGroup()
Mark calibrationGroup, which is an optional field, as non-existent.
void fluxErrFromText(const std::string &s)
Links *SpectralWindowRow * getSpectralWindowUsingSpectralWindowId()
spectralWindowId pointer to the row in the SpectralWindow table having SpectralWindow.spectralWindowId == spectralWindowId
bool fluxExists
===> Attribute flux, which is optional
std::vector< AngularRate > getProperMotion() const
===> Attribute properMotion
void dopplerVelocityFromText(const std::string &s)
std::vector< Angle > direction
===> Attribute direction
void setStokesParameter(std::vector< StokesParameterMod::StokesParameter > stokesParameter)
Set stokesParameter with the specified std::vector<StokesParameterMod::StokesParameter >...
void setNumStokes(int numStokes)
Set numStokes with the specified int.
void setDirectionCode(DirectionReferenceCodeMod::DirectionReferenceCode directionCode)
Set directionCode with the specified DirectionReferenceCodeMod::DirectionReferenceCode.
void setProperMotion(std::vector< AngularRate > properMotion)
Set properMotion with the specified std::vector<AngularRate >.
std::vector< std::vector< Flux > > fluxErr
void clearRangeVel()
Mark rangeVel, which is an optional field, as non-existent.
void sourceNameFromBin(EndianIStream &eis)
std::vector< Angle > positionAngleErr
bool isParallaxExists() const
===> Attribute parallax, which is optional
void setParallax(std::vector< Angle > parallax)
Set parallax with the specified std::vector<Angle >.
void setSourceId(int sourceId)
Set sourceId with the specified int value.
std::vector< Speed > sysVel
DirectionReferenceCodeMod::DirectionReferenceCode getDirectionCode() const
Get directionCode, which is optional.
void spectralWindowIdFromText(const std::string &s)
void fluxErrFromBin(EndianIStream &eis)
void setDopplerReferenceSystem(RadialVelocityReferenceCodeMod::RadialVelocityReferenceCode dopplerReferenceSystem)
Set dopplerReferenceSystem with the specified RadialVelocityReferenceCodeMod::RadialVelocityReference...
void parallaxFromBin(EndianIStream &eis)
bool isPositionAngleErrExists() const
===> Attribute positionAngleErr, which is optional
bool isNumFreqExists() const
===> Attribute numFreq, which is optional
bool calibrationGroupExists
===> Attribute calibrationGroup, which is optional
void setSourceName(std::string sourceName)
Set sourceName with the specified std::string.