34 #ifndef CalFocusTable_CLASS
35 #define CalFocusTable_CLASS
156 #include <asdmIDLC.h>
468 static const std::vector<std::string>&
getKeyName();
485 unsigned int size()
const;
503 static std::string
name() ;
543 std::string
toXML() ;
552 asdmIDL::CalFocusTableIDL *
toIDL() ;
561 void toIDL(asdmIDL::CalFocusTableIDL& x)
const;
572 void fromIDL(asdmIDL::CalFocusTableIDL x) ;
629 CalFocusRow *
newRow(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand,
Tag calDataId,
Tag calReductionId,
ArrayTime startValidTime,
ArrayTime endValidTime,
Temperature ambientTemperature, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, FocusMethodMod::FocusMethod focusMethod, std::vector<Frequency > frequencyRange, std::vector<Angle > pointingDirection,
int numReceptor, std::vector<PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector<bool > wereFixed, std::vector<std::vector<Length > > offset, std::vector<std::vector<Length > > offsetError, std::vector<std::vector<bool > > offsetWasTied, std::vector<std::vector<double > > reducedChiSquared, std::vector<std::vector<Length > > position);
679 std::vector<CalFocusRow *>
get() ;
687 const std::vector<CalFocusRow *>&
get()
const ;
759 CalFocusRow*
lookup(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand,
Tag calDataId,
Tag calReductionId,
ArrayTime startValidTime,
ArrayTime endValidTime,
Temperature ambientTemperature, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, FocusMethodMod::FocusMethod focusMethod, std::vector<Frequency > frequencyRange, std::vector<Angle > pointingDirection,
int numReceptor, std::vector<PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector<bool > wereFixed, std::vector<std::vector<Length > > offset, std::vector<std::vector<Length > > offsetError, std::vector<std::vector<bool > > offsetWasTied, std::vector<std::vector<double > > reducedChiSquared, std::vector<std::vector<Length > > position);
825 std::vector<CalFocusRow *>
row;
883 void toFile(std::string directory);
static const ByteOrder * Machine_Endianity
void addWithoutCheckingUnique(CalFocusRow *x)
Brutally append an CalFocusRow x to the collection of rows already stored in this table...
CalFocusRow * newRow()
====> Row creation.
The CalFocusTable class is an Alma table.
void append(CalFocusRow *x)
Brutally append an CalFocusRow x to the collection of rows already stored in this table...
void fromXML(std::string &xmlDoc)
Populate this table from the content of a XML document that is required to be conform to the XML sche...
A class to represent byte order information.
BinaryAttributeReaderFunctor * getUnknownAttributeBinaryReader(const std::string &attributeName) const
void setFromMIMEFile(const std::string &directory)
Private methods involved during the build of this table out of the content of file(s) containing an e...
The ASDM class is the container for all tables.
std::string toMIME(const asdm::ByteOrder *byteOrder=asdm::ByteOrder::Machine_Endianity)
Serialize this into a stream of bytes and encapsulates that stream into a MIME message.
ASDM & getContainer() const
Return the container to which this table belongs.
The CalFocusRow class is a row of a CalFocusTable.
CalFocusRow * checkAndAdd(CalFocusRow *x, bool skipCheckUniqueness=false)
If this table has an autoincrementable attribute then check if *x verifies the rule of uniqueness and...
void setFromFile(const std::string &directory)
Reads and parses a file containing a representation of a CalFocusTable as those produced by the toFil...
The Temperature class implements a quantity of temperature in degrees Kelvin.
Entity getEntity() const
Return this table's Entity.
std::string MIMEXMLPart(const asdm::ByteOrder *byteOrder=asdm::ByteOrder::Machine_Endianity)
Private methods involved during the export of this table into disk file(s).
static const std::vector< std::string > & getKeyName()
Return the list of field names that make up key key as an array of strings.
void toFile(std::string directory)
Stores a representation (binary or XML) of this table into a file.
std::vector< CalFocusRow * > row
static const std::vector< std::string > & getAttributesNames()
Return the names of the attributes of this table.
void setUnknownAttributeBinaryReader(const std::string &attributeName, BinaryAttributeReaderFunctor *barFctr)
unsigned int size() const
Return the number of rows in the table.
std::string toXML()
Produces an XML representation conform to the schema defined for CalFocus (CalFocusTable.xsd).
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
std::string getName() const
Return the name of this table.
void setFromMIME(const std::string &mimeMsg)
Extracts the binary part of a MIME message and deserialize its content to fill this with the result o...
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
CalFocusRow * lookup(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, Temperature ambientTemperature, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, FocusMethodMod::FocusMethod focusMethod, std::vector< Frequency > frequencyRange, std::vector< Angle > pointingDirection, int numReceptor, std::vector< PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector< bool > wereFixed, std::vector< std::vector< Length > > offset, std::vector< std::vector< Length > > offsetError, std::vector< std::vector< bool > > offsetWasTied, std::vector< std::vector< double > > reducedChiSquared, std::vector< std::vector< Length > > position)
Look up the table for a row whose all attributes are equal to the corresponding parameters of the met...
bool loadInProgress
Load the table in memory if necessary.
void setEntity(Entity e)
Set this table's Entity.
void checkPresenceInMemory()
std::map< std::string, BinaryAttributeReaderFunctor * > unknownAttributes2Functors
A pure virtual class whose derived classes are expected to be functors whose behaviours will be to re...
The Representable interface is implemented by all tables and by the container.
asdmIDL::CalFocusTableIDL * toIDL()
Conversion Methods.
const Double e
e and functions thereof:
CalFocusRow * getRowByKey(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId)
Returns a CalFocusRow* given a key.
static std::string name()
Return the name of this table.
std::vector< CalFocusRow * > privateRows
A data structure to store the pointers on the table's rows.
void setFromXMLFile(const std::string &directory)
std::string getVersion() const
Return the version information about this table.
void fromIDL(asdmIDL::CalFocusTableIDL x)
Populate this table from the content of a CalFocusTableIDL Corba structure.
CalFocusRow * add(CalFocusRow *x)
====> Append a row to its table.
CalFocusTable(ASDM &container)
Create a CalFocusTable.
static const std::vector< std::string > & defaultAttributesNamesInBin()
Return the default sorted list of attributes names in the binary representation of the table...
The Entity class is an identification of a persistant entity in the ALMA archive. ...