34 #ifndef CalFluxRow_CLASS
35 #define CalFluxRow_CLASS
135 class CalReductionRow;
183 std::string getSourceName()
const;
365 FluxCalibrationMethodMod::FluxCalibrationMethod
getFluxMethod()
const;
395 std::vector<std::vector<double > >
getFlux()
const;
407 void setFlux (std::vector<std::vector<double > >
flux);
425 std::vector<std::vector<double > >
getFluxError()
const;
455 std::vector<StokesParameterMod::StokesParameter >
getStokes()
const;
467 void setStokes (std::vector<StokesParameterMod::StokesParameter >
stokes);
615 std::vector<std::vector<Angle > >
getPA()
const;
626 void setPA (std::vector<std::vector<Angle > >
PA);
656 std::vector<std::vector<Angle > >
getPAError()
const;
697 std::vector<std::vector<std::vector<Angle > > >
getSize()
const;
708 void setSize (std::vector<std::vector<std::vector<Angle > > >
size);
738 std::vector<std::vector<std::vector<Angle > > >
getSizeError()
const;
817 Tag getCalDataId()
const;
936 bool compareNoAutoInc(std::string sourceName,
Tag calDataId,
Tag calReductionId,
ArrayTime startValidTime,
ArrayTime endValidTime,
int numFrequencyRanges,
int numStokes, std::vector<std::vector<Frequency > >
frequencyRanges, FluxCalibrationMethodMod::FluxCalibrationMethod
fluxMethod, std::vector<std::vector<double > >
flux, std::vector<std::vector<double > >
fluxError, std::vector<StokesParameterMod::StokesParameter >
stokes);
982 asdmIDL::CalFluxRowIDL *
toIDL()
const;
991 void toIDL(asdmIDL::CalFluxRowIDL& x)
const;
1007 std::string
toXML()
const;
1061 void fromText(
const std::string& attributeName,
const std::string& t);
1116 std::string sourceName;
1193 std::vector<std::vector<double > >
flux;
1215 std::vector<StokesParameterMod::StokesParameter >
stokes;
1267 std::vector<std::vector<Angle > >
PA;
1293 std::vector<std::vector<std::vector<Angle > > >
size;
void startValidTimeFromBin(EndianIStream &eis)
void clearDirection()
Mark direction, which is an optional field, as non-existent.
void numStokesFromText(const std::string &s)
void sourceModelFromBin(EndianIStream &eis)
CalReductionRow * getCalReductionUsingCalReductionId()
calReductionId pointer to the row in the CalReduction table having CalReduction.calReductionId == cal...
void sizeErrorFromText(const std::string &s)
CalFluxRow(CalFluxTable &table)
Create a CalFluxRow.
void frequencyRangesFromText(const std::string &s)
void setFlux(std::vector< std::vector< double > > flux)
Set flux with the specified std::vector<std::vector<double > >.
void PAErrorFromText(const std::string &s)
void stokesFromText(const std::string &s)
Tag getCalReductionId() const
===> Attribute calReductionId
void sourceNameFromBin(EndianIStream &eis)
SourceModelMod::SourceModel getSourceModel() const
Get sourceModel, which is optional.
bool directionEquinoxExists
===> Attribute directionEquinox, which is optional
void numFrequencyRangesFromText(const std::string &s)
std::vector< Angle > direction
std::vector< StokesParameterMod::StokesParameter > stokes
===> Attribute stokes
bool hasBeenAdded
Whether this row has been added to the table or not.
bool PAErrorExists
===> Attribute PAError, which is optional
void clearSize()
Mark size, which is an optional field, as non-existent.
void endValidTimeFromBin(EndianIStream &eis)
bool directionCodeExists
===> Attribute directionCode, which is optional
void sizeErrorFromBin(EndianIStream &eis)
void setNumStokes(int numStokes)
Set numStokes with the specified int.
int getNumStokes() const
===> Attribute numStokes
bool isSourceModelExists() const
===> Attribute sourceModel, which is optional
void setDirectionEquinox(Angle directionEquinox)
Set directionEquinox with the specified Angle.
void setPA(std::vector< std::vector< Angle > > PA)
Set PA with the specified std::vector<std::vector<Angle > >.
void sourceNameFromText(const std::string &s)
int numFrequencyRanges
===> Attribute numFrequencyRanges
bool sourceModelExists
===> Attribute sourceModel, which is optional
void directionFromText(const std::string &s)
void fluxErrorFromText(const std::string &s)
DirectionReferenceCodeMod::DirectionReferenceCode getDirectionCode() const
Get directionCode, which is optional.
void setSizeError(std::vector< std::vector< std::vector< Angle > > > sizeError)
Set sizeError with the specified std::vector<std::vector<std::vector<Angle > > >. ...
Links *CalDataRow * getCalDataUsingCalDataId()
calDataId pointer to the row in the CalData table having CalData.calDataId == calDataId ...
bool isSizeExists() const
===> Attribute size, which is optional
bool equalByRequiredValue(CalFluxRow *x)
Return true if all required attributes of the value part are equal to their homologues in x and false...
void setFromXML(std::string rowDoc)
Fill the values of this row from an XML string that was produced by the toXML() method.
DirectionReferenceCodeMod::DirectionReferenceCode directionCode
std::vector< std::vector< Angle > > getPA() const
Get PA, which is optional.
std::vector< std::vector< Angle > > PA
void(CalFluxRow::* CalFluxAttributeFromText)(const std::string &s)
CalFluxTable & table
The table to which this row belongs.
void directionFromBin(EndianIStream &eis)
void frequencyRangesFromBin(EndianIStream &eis)
void calReductionIdFromBin(EndianIStream &eis)
std::vector< std::vector< std::vector< Angle > > > getSize() const
Get size, which is optional.
void setStokes(std::vector< StokesParameterMod::StokesParameter > stokes)
Set stokes with the specified std::vector<StokesParameterMod::StokesParameter >.
void fluxFromBin(EndianIStream &eis)
void clearPA()
Mark PA, which is an optional field, as non-existent.
FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod
===> Attribute fluxMethod
void setFluxError(std::vector< std::vector< double > > fluxError)
Set fluxError with the specified std::vector<std::vector<double > >.
void directionCodeFromText(const std::string &s)
void setCalDataId(Tag calDataId)
Set calDataId with the specified Tag.
std::vector< std::vector< double > > fluxError
===> Attribute fluxError
std::vector< std::vector< double > > flux
===> Attribute flux
Tag calReductionId
===> Attribute calReductionId
void PAErrorFromBin(EndianIStream &eis)
bool compareRequiredValue(ArrayTime startValidTime, ArrayTime endValidTime, int numFrequencyRanges, int numStokes, std::vector< std::vector< Frequency > > frequencyRanges, FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod, std::vector< std::vector< double > > flux, std::vector< std::vector< double > > fluxError, std::vector< StokesParameterMod::StokesParameter > stokes)
Compare each mandatory value (i.e.
void sizeFromBin(EndianIStream &eis)
void fluxFromText(const std::string &s)
void PAFromText(const std::string &s)
bool isPAErrorExists() const
===> Attribute PAError, which is optional
The Angle class implements a quantity of angle in radians.
virtual ~CalFluxRow()
friend class asdm::TableStreamReader<CalFluxTable, CalFluxRow>;
void PAFromBin(EndianIStream &eis)
bool isDirectionEquinoxExists() const
===> Attribute directionEquinox, which is optional
void setSourceModel(SourceModelMod::SourceModel sourceModel)
Set sourceModel with the specified SourceModelMod::SourceModel.
void setSize(std::vector< std::vector< std::vector< Angle > > > size)
Set size with the specified std::vector<std::vector<std::vector<Angle > > >.
std::vector< std::vector< Frequency > > frequencyRanges
===> Attribute frequencyRanges
std::vector< std::vector< std::vector< Angle > > > sizeError
void setDirection(std::vector< Angle > direction)
Set direction with the specified std::vector<Angle >.
void numFrequencyRangesFromBin(EndianIStream &eis)
void directionEquinoxFromBin(EndianIStream &eis)
int numStokes
===> Attribute numStokes
void setFromIDL(asdmIDL::CalFluxRowIDL x)
Fill the values of this row from the IDL struct CalFluxRowIDL.
void setDirectionCode(DirectionReferenceCodeMod::DirectionReferenceCode directionCode)
Set directionCode with the specified DirectionReferenceCodeMod::DirectionReferenceCode.
The CalReductionRow class is a row of a CalReductionTable.
void setPAError(std::vector< std::vector< Angle > > PAError)
Set PAError with the specified std::vector<std::vector<Angle > >.
std::vector< std::vector< std::vector< Angle > > > size
std::vector< std::vector< Frequency > > getFrequencyRanges() const
===> Attribute frequencyRanges
void(CalFluxRow::* CalFluxAttributeFromBin)(EndianIStream &eis)
bool isDirectionExists() const
===> Attribute direction, which is optional
std::vector< Angle > getDirection() const
Get direction, which is optional.
The CalFluxRow class is a row of a CalFluxTable.
bool isPAExists() const
===> Attribute PA, which is optional
CalFluxTable & getTable() const
Return the table to which this row belongs.
void clearDirectionEquinox()
Mark directionEquinox, which is an optional field, as non-existent.
bool PAExists
===> Attribute PA, which is optional
void endValidTimeFromText(const std::string &s)
asdmIDL::CalFluxRowIDL * toIDL() const
Return this row in the form of an IDL struct.
FluxCalibrationMethodMod::FluxCalibrationMethod getFluxMethod() const
===> Attribute fluxMethod
bool compareNoAutoInc(std::string sourceName, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, int numFrequencyRanges, int numStokes, std::vector< std::vector< Frequency > > frequencyRanges, FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod, std::vector< std::vector< double > > flux, std::vector< std::vector< double > > fluxError, std::vector< StokesParameterMod::StokesParameter > stokes)
Compare each mandatory attribute except the autoincrementable one of this CalFluxRow with the corresp...
void setEndValidTime(ArrayTime endValidTime)
Set endValidTime with the specified ArrayTime.
void setFrequencyRanges(std::vector< std::vector< Frequency > > frequencyRanges)
Set frequencyRanges with the specified std::vector<std::vector<Frequency > >.
void stokesFromBin(EndianIStream &eis)
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
void sizeFromText(const std::string &s)
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
void directionEquinoxFromText(const std::string &s)
void calDataIdFromBin(EndianIStream &eis)
void setCalReductionId(Tag calReductionId)
Set calReductionId with the specified Tag.
ArrayTime startValidTime
===> Attribute startValidTime
std::vector< std::vector< double > > getFlux() const
===> Attribute flux
Links *binary deserialization material from an EndianIStream std::map< std::string, CalFluxAttributeFromBin > fromBinMethods
void clearSizeError()
Mark sizeError, which is an optional field, as non-existent.
void numStokesFromBin(EndianIStream &eis)
Angle getDirectionEquinox() const
Get directionEquinox, which is optional.
The CalFluxTable class is an Alma table.
void calReductionIdFromText(const std::string &s)
void setSourceName(std::string sourceName)
Set sourceName with the specified std::string.
void startValidTimeFromText(const std::string &s)
void clearPAError()
Mark PAError, which is an optional field, as non-existent.
std::vector< std::vector< Angle > > getPAError() const
Get PAError, which is optional.
bool isDirectionCodeExists() const
===> Attribute directionCode, which is optional
void clearSourceModel()
Mark sourceModel, which is an optional field, as non-existent.
ArrayTime getEndValidTime() const
===> Attribute endValidTime
*text deserialization material std::map< std::string, CalFluxAttributeFromText > fromTextMethods
ArrayTime getStartValidTime() const
===> Attribute startValidTime
void calDataIdFromText(const std::string &s)
SourceModelMod::SourceModel sourceModel
std::vector< std::vector< std::vector< Angle > > > getSizeError() const
Get sizeError, which is optional.
bool directionExists
===> Attribute direction, which is optional
void clearDirectionCode()
Mark directionCode, which is an optional field, as non-existent.
std::vector< std::vector< double > > getFluxError() const
===> Attribute fluxError
bool isAdded() const
Has this row been added to its table ?
void fluxErrorFromBin(EndianIStream &eis)
void setFluxMethod(FluxCalibrationMethodMod::FluxCalibrationMethod fluxMethod)
Set fluxMethod with the specified FluxCalibrationMethodMod::FluxCalibrationMethod.
The CalDataRow class is a row of a CalDataTable.
int getNumFrequencyRanges() const
===> Attribute numFrequencyRanges
bool sizeErrorExists
===> Attribute sizeError, which is optional
bool sizeExists
===> Attribute size, which is optional
std::string toXML() const
Return this row in the form of an XML string.
void setStartValidTime(ArrayTime startValidTime)
Set startValidTime with the specified ArrayTime.
void toBin(EndianOSStream &eoss)
Serialize this into a stream of bytes written to an EndianOSStream.
void directionCodeFromBin(EndianIStream &eis)
void fluxMethodFromText(const std::string &s)
bool isSizeErrorExists() const
===> Attribute sizeError, which is optional
std::vector< std::vector< Angle > > PAError
void fluxMethodFromBin(EndianIStream &eis)
std::vector< StokesParameterMod::StokesParameter > getStokes() const
===> Attribute stokes
ArrayTime endValidTime
===> Attribute endValidTime
void setNumFrequencyRanges(int numFrequencyRanges)
Set numFrequencyRanges with the specified int.
void sourceModelFromText(const std::string &s)