34 #ifndef CalPointingTable_CLASS
35 #define CalPointingTable_CLASS
150 #include <asdmIDLC.h>
163 class CalPointingRow;
441 static const std::vector<std::string>&
getKeyName();
458 unsigned int size()
const;
476 static std::string
name() ;
516 std::string
toXML() ;
525 asdmIDL::CalPointingTableIDL *
toIDL() ;
534 void toIDL(asdmIDL::CalPointingTableIDL& x)
const;
545 void fromIDL(asdmIDL::CalPointingTableIDL x) ;
604 CalPointingRow *
newRow(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand,
Tag calDataId,
Tag calReductionId,
ArrayTime startValidTime,
ArrayTime endValidTime,
Temperature ambientTemperature, AntennaMakeMod::AntennaMake antennaMake, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, std::vector<Angle > direction, std::vector<Frequency > frequencyRange, PointingModelModeMod::PointingModelMode pointingModelMode, PointingMethodMod::PointingMethod pointingMethod,
int numReceptor, std::vector<PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector<std::vector<Angle > > collOffsetRelative, std::vector<std::vector<Angle > > collOffsetAbsolute, std::vector<std::vector<Angle > > collError, std::vector<std::vector<bool > > collOffsetTied, std::vector<double > reducedChiSquared);
654 std::vector<CalPointingRow *>
get() ;
662 const std::vector<CalPointingRow *>&
get()
const ;
736 CalPointingRow*
lookup(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand,
Tag calDataId,
Tag calReductionId,
ArrayTime startValidTime,
ArrayTime endValidTime,
Temperature ambientTemperature, AntennaMakeMod::AntennaMake antennaMake, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, std::vector<Angle > direction, std::vector<Frequency > frequencyRange, PointingModelModeMod::PointingModelMode pointingModelMode, PointingMethodMod::PointingMethod pointingMethod,
int numReceptor, std::vector<PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector<std::vector<Angle > > collOffsetRelative, std::vector<std::vector<Angle > > collOffsetAbsolute, std::vector<std::vector<Angle > > collError, std::vector<std::vector<bool > > collOffsetTied, std::vector<double > reducedChiSquared);
802 std::vector<CalPointingRow *>
row;
860 void toFile(std::string directory);
static const ByteOrder * Machine_Endianity
asdmIDL::CalPointingTableIDL * toIDL()
Conversion Methods.
BinaryAttributeReaderFunctor * getUnknownAttributeBinaryReader(const std::string &attributeName) const
unsigned int size() const
Return the number of rows in the table.
A class to represent byte order information.
void append(CalPointingRow *x)
Brutally append an CalPointingRow x to the collection of rows already stored in this table...
Entity getEntity() const
Return this table's Entity.
std::string getVersion() const
Return the version information about this table.
static const std::vector< std::string > & getKeyName()
Return the list of field names that make up key key as an array of strings.
The ASDM class is the container for all tables.
static const std::vector< std::string > & defaultAttributesNamesInBin()
Return the default sorted list of attributes names in the binary representation of the table...
std::string toXML()
Produces an XML representation conform to the schema defined for CalPointing (CalPointingTable.xsd).
void setUnknownAttributeBinaryReader(const std::string &attributeName, BinaryAttributeReaderFunctor *barFctr)
void toFile(std::string directory)
Stores a representation (binary or XML) of this table into a file.
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...
The Temperature class implements a quantity of temperature in degrees Kelvin.
bool loadInProgress
Load the table in memory if necessary.
CalPointingRow * add(CalPointingRow *x)
====> Append a row to its table.
virtual ~CalPointingTable()
std::map< std::string, BinaryAttributeReaderFunctor * > unknownAttributes2Functors
The CalPointingRow class is a row of a CalPointingTable.
std::string MIMEXMLPart(const asdm::ByteOrder *byteOrder=asdm::ByteOrder::Machine_Endianity)
Private methods involved during the export of this table into disk file(s).
std::vector< CalPointingRow * > row
std::vector< CalPointingRow * > privateRows
A data structure to store the pointers on the table's rows.
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
void setFromXMLFile(const std::string &directory)
The Tag class is an implementation of a unique index identifying a row of an ASDM 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...
CalPointingRow * lookup(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId, ArrayTime startValidTime, ArrayTime endValidTime, Temperature ambientTemperature, AntennaMakeMod::AntennaMake antennaMake, AtmPhaseCorrectionMod::AtmPhaseCorrection atmPhaseCorrection, std::vector< Angle > direction, std::vector< Frequency > frequencyRange, PointingModelModeMod::PointingModelMode pointingModelMode, PointingMethodMod::PointingMethod pointingMethod, int numReceptor, std::vector< PolarizationTypeMod::PolarizationType > polarizationTypes, std::vector< std::vector< Angle > > collOffsetRelative, std::vector< std::vector< Angle > > collOffsetAbsolute, std::vector< std::vector< Angle > > collError, std::vector< std::vector< bool > > collOffsetTied, std::vector< double > reducedChiSquared)
Look up the table for a row whose all attributes are equal to the corresponding parameters of the met...
ASDM & getContainer() const
Return the container to which this table belongs.
The CalPointingTable class is an Alma table.
static const std::vector< std::string > & getAttributesNames()
Return the names of the attributes of this table.
void addWithoutCheckingUnique(CalPointingRow *x)
Brutally append an CalPointingRow x to the collection of rows already stored in this table...
void checkPresenceInMemory()
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.
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.
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...
const Double e
e and functions thereof:
CalPointingRow * getRowByKey(std::string antennaName, ReceiverBandMod::ReceiverBand receiverBand, Tag calDataId, Tag calReductionId)
Returns a CalPointingRow* given a key.
CalPointingRow * checkAndAdd(CalPointingRow *x, bool skipCheckUniqueness=false)
If this table has an autoincrementable attribute then check if *x verifies the rule of uniqueness and...
std::string getName() const
Return the name of this table.
CalPointingRow * newRow()
====> Row creation.
void setEntity(Entity e)
Set this table's Entity.
void setFromFile(const std::string &directory)
Reads and parses a file containing a representation of a CalPointingTable as those produced by the to...
static std::string name()
Return the name of this table.
CalPointingTable(ASDM &container)
Create a CalPointingTable.
The Entity class is an identification of a persistant entity in the ALMA archive. ...
void fromIDL(asdmIDL::CalPointingTableIDL x)
Populate this table from the content of a CalPointingTableIDL Corba structure.