55 #ifndef MS2ASDM_MS2ASDM_H
56 #define MS2ASDM_MS2ASDM_H
175 ReceiverBandMod::ReceiverBand& frequencyBand,
176 ReceiverSidebandMod::ReceiverSideband& receiverSideband);
267 std::vector< asdm::Tag >&
stateId);
static std::string unit()
Returns the abbreviated name of the unit implicitely associated to any Angle.
casacore::Bool writeState()
A Measure: astronomical direction.
casacore::MeasurementSet ms_p
*** Member variables ***
MapWithDefault< casacore::Int, int > asdmFeedId_p
the default value for the int values is -1, needs MapWithDefault
casacore::Bool writeConfigDescription()
The Interval class implements an interval of time in units of nanoseconds.
casacore::Double timestampEndSecs(const casacore::uInt mainTabRow)
return end of casacore::MS main table timestamp (seconds)
casacore::uInt verbosity_p
void setSBDuration(const casacore::Double sBDuration=2700.)
set maximum duration of a Scheduling casacore::Block in seconds
std::complex< Float > Complex
casacore::Bool dataIsAPCorrected_p
casacore::Bool writePointing()
static std::string unit()
Returns the abbreviated name of the unit implicitely associated to any Frequency. ...
AntennaTypeMod::AntennaType ASDMAntennaType(const casacore::String &type)
convert CASA antenna type string to ASDM antenna type enum
casacore::Bool writeSBSummaryAndExecBlockStubs()
Scheme 1) We regard one casacore::MS Observation as a set of ASDM ExecBlocks modelled on a single ASD...
void setVerbosity(const casacore::uInt verbosity=2)
set verbosity of the write methods
The ArrayTimeInterval class aggregates an instance of ArrayTime and an instance of Interval...
static std::string unit()
Returns the abbreviated name of the unit implicitely associated to any Length.
casacore::Bool writeSwitchCycle()
std::vector< std::vector< casacore::Bool > > skipCorr_p
const std::string & getCurrentUid()
virtual Type type()
Return the type enum.
std::map< casacore::Int, asdm::Tag > asdmProcessorId_p
static std::string unit()
Returns the abbreviated name of the unit implicitely associated to any AngularRate.
casacore::Bool writeCorrelatorMode()
casacore::Bool dataIsAPCorrected()
casacore::Bool writeAntenna()
The ASDM class is the container for all tables.
MapWithDefault< casacore::Int, int > asdmSourceId_p
DirectionReferenceCodeMod::DirectionReferenceCode ASDMDirRefCode(const casacore::MDirection::Types type)
convert casacore::MDirection type to ASDM DirectionReferenceCode
const ROScalarColumn< Int > & stateId() const
casacore::Bool writeMainAndScanAndSubScan(const casacore::String &datacolumn)
with information from the APDM
void setObservatoryName(const casacore::String &telName)
casacore::Bool writePointingModel()
std::vector< asdm::Angle > ASDMAngleV(const casacore::MDirection mDir)
convert casacore::MDirection to a vector of Angles
void setDataAPCorrected(const casacore::Bool isCorrected=true)
casacore::Bool writeAlmaRadiometer()
std::map< casacore::Int, asdm::Tag > asdmSBSummaryId_p
LatticeExprNode floor(const LatticeExprNode &expr)
void setSubScanDuration(const casacore::Double subscanDuration=24.*3600.)
set maximum duration of a subscan in seconds, 0.
casacore::Bool writeStation()
The Complex class extends the Complex class in the C++ standard library.
casacore::Bool writeDataDescription()
StokesTypes
The Stokes types are defined by this enum.
Types
Types of known MDirections Warning: The order defines the order in the translation matrix FromTo in ...
The EntityRef class is an identification of a persistant entity in the ALMA archive.
asdm::Complex ASDMComplex(casacore::Complex x)
casacore::Double MSTimeSecs(const asdm::ArrayTime atime)
convert array time to time in seconds
casacore::Bool writeReceiver()
casacore::Bool writeField()
static std::string unit()
Returns the abbreviated name of the unit implicitely associated to any Temperature.
asdm::Interval ASDMInterval(const casacore::Double seconds)
casacore::Bool setDirectory(const casacore::String &asdmfile)
std::map< casacore::Int, asdm::Tag > asdmDataDescriptionId_p
const ROScalarColumn< Double > & interval() const
casacore::Bool incrementUid()
*** Private member functions ***
MS2ASDM(casacore::MeasurementSet &ms)
construct from an MS
casacore::Double getSubScanDuration()
get maximum duration of a subscan in seconds
casacore::Bool writeFeed()
MapWithDefault< asdm::Tag, int > asdmPointingModelId_p
std::map< casacore::Int, asdm::Tag > asdmAntennaId_p
casacore::Double timestampStartSecs(const casacore::uInt mainTabRow)
return start of casacore::MS main table timestamp (seconds)
casacore::Unit unitASDMAngularRate()
A class to provide easy read-only access to MeasurementSet columns.
std::map< casacore::uInt, asdm::Tag > asdmConfigDescriptionId_p
FrequencyReferenceCodeMod::FrequencyReferenceCode ASDMFreqRefCode(const casacore::MFrequency::Types refFrame)
casacore::Bool stokesTypePresent(const casacore::Vector< casacore::Int > corrT, const casacore::Stokes::StokesTypes st)
*** Aux.
std::map< casacore::Int, asdm::Tag > asdmSpectralWindowId_p
casacore::Int setRecBands(const asdm::Frequency refFreq, casacore::Double &frequency, ReceiverBandMod::ReceiverBand &frequencyBand, ReceiverSidebandMod::ReceiverSideband &receiverSideband)
set a representative frequency, the receiver band and receiver sideband based on a frequency refFreq ...
std::map< casacore::String, asdm::Tag > asdmStationId_p
The default value for the Tag keys is Tag(), so the std::map works as is.
bool Bool
Define the standard types used by Casacore.
casacore::String telName_p
casacore::Double subscanDuration_p
The ArrayTime class implements the concept of a point in time, implemented as an Interval of time sin...
casacore::Double getSBDuration()
get maximum duration of a Scheduling casacore::Block in seconds
NetSidebandMod::NetSideband ASDMNetSideBand(const casacore::Int netSideband)
convert a casacore::MS net sideband no.
casacore::Bool writeProcessor()
casacore::Unit unitASDMFreq()
const std::string & getCurrentUidAsFileName()
return currentUid_p with all ":" and "/" characters replaced by "_"
std::map< casacore::Int, asdm::Tag > asdmPolarizationId_p
const ROScalarQuantColumn< Double > & intervalQuant() const
The Tag class is an implementation of a unique index identifying a row of an ASDM table...
casacore::Bool writePolarization()
casacore::Bool writeASDM(const casacore::String &asdmfile="", const casacore::String &datacolumn="data", const casacore::String &archiveid="S0", const casacore::String &rangeid="X1", const casacore::Bool verbose=true, const casacore::Double maxSubscanDuration=24.*3600., const casacore::Double maxSchedBlockDuration=2700., const casacore::Bool msDataIsAPCorrected=true)
write the entire ASDM from scratch
std::map< casacore::Int, asdm::Tag > asdmEphemerisId_p
casacore::Int writeMainBinSubScanForOneDDIdFIdPair(const casacore::Int theDDId, const casacore::Int theFieldId, const casacore::String &datacolumn, const casacore::uInt theScan, const casacore::uInt theSubScan, const casacore::uInt startRow, const casacore::uInt endRow, const asdm::Tag eBlockId, int &datasize, asdm::EntityRef &dataOid, std::vector< asdm::Tag > &stateId)
write the Main binary data for one DataDescId/FieldId pair and one SubScan (return number of integrat...
A Table intended to hold astronomical data (a set of Measurements).
const ROScalarQuantColumn< Double > & timeQuant() const
casacore::Unit unitASDMAngle()
asdm::ArrayTime ASDMArrayTime(const casacore::Double seconds)
convert time in seconds to an array time
std::map< casacore::Int, asdm::Tag > asdmFieldId_p
std::map< casacore::Double, asdm::Tag > asdmExecBlockId_p
BasebandNameMod::BasebandName ASDMBBName(const casacore::Int bbcNo)
convert a base band converter number to an ASDM base band name
std::map< casacore::Int, asdm::Tag > asdmStateId_p
casacore::Double schedBlockDuration_p
casacore::Bool writeHolography()
static const int64_t unitsInASecond
casacore::Unit unitASDMTemp()
StokesParameterMod::StokesParameter ASDMStokesParameter(casacore::Stokes::StokesTypes s)
convert CASA casacore::Stokes to ASDM Stokes
string asdmUID_p
AtmPhaseCorrectionMod::AP_CORRECTED, false if it is AtmPhaseCorrectionMod::AP_UNCORRECTED.
void getObservatoryName(casacore::String &telName)
String: the storage and methods of handling collections of characters.
const casacore::String & showversion()
casacore::Bool writeSysCal()
void setBaseUid(const casacore::String &baseuid)
casacore::Unit unitASDMLength()
Types
Types of known MFrequencies Warning: The order defines the order in the translation matrix FromTo in...
The Frequency class implements a quantity of frequency in hertz.
MS2ASDM provides functionalities to create an ASDM (ALMA science data model) from an existing MS...
casacore::String currentUid_p
used to construct the UIDs: uid = baseUid_p + (runningId_p converted to unpadded hex string) ...
casacore::String baseUid_p
casacore::Bool writeSpectralWindow()
casacore::String asdmDir_p
const casacore::String & getBaseUid()
casacore::uInt runningId_p
i.e.
casacore::Bool writeSource()
asdm::ArrayTimeInterval ASDMTimeInterval(const casacore::Quantity midpoint, const casacore::Quantity interval)
convert casacore::MS style time interval to ASDM ArrayTimeInterval