SDDHeader.h

Classes

SDDHeader -- a class containing the header information from an SDDFile (full description)

class SDDHeader

Types

enum StringHeader

OBSID = 0
OBSERVER
obsever initials, 8 characters
TELESCOP
observer name, 16 characters
PROJID
Telescope descriptor, 8 characters
OBJECT
project ID, 8 characters
OBSMODE
source name, 16 characters
FRONTEND
type of data + observing mode, 8 characters
BACKEND
front end descriptor, 8 characters
PRECIS
back end descriptor, 8 characters
PT_MODEL
Data Precision, 8 characters, ignored!
CL11TYPE
Pointing Model descriptor, 8 characters
COORDCD
Class 11 type descriptor, 8 characters
FRAME
Coordinate System Code, 8 characters
VELDEF
XY Reference Frame Code, 8 characters
TYPECAL
Velocity Definition and Reference, 8 characters
CFFORM
Type of Calibration, 8 characters
OPENPAR
Center Frequency Formula
POLARIZ
Class 10, open parameter, 80 characters
RX_INFO
Polarization descriptor, 8 characters
LAST_STRING
Receiver information, 16 characters

enum BasicInformation

HEADLEN = 0
DATALEN
length of header in bytes
SCAN
length of data in bytes
SAVENUM = 14
Scan number
NORECORD
index location for this scan
RECORDID
# of individual records for RECORDS scan OR # of OTF spectra in this row
LAST_BASIC
The record number for this scan OR the # of this OTF spectra

enum PointingParameters

XPOINT = 0
YPOINT
Total Az/RA Pointing Correction (arcsec)
UXPNT
Total El/Dec Pointing Correction (arcsec)
UYPNT
User Az/RA Pointing Correction (arcsec)
PTCON0
User El/Dec Pointing Correction (arcsec)
PTCON1
Pointing Constants(0) (arcmin)
PTCON2
Pointing Constants(1) (arcmin)
PTCON3
Pointing Constants(2) (arcmin)
ORIENT
Pointing Constants(3) (arcmin)
FOCUSR
Receiver box or secondary orientation (Degrees)
FOCUSV
Radial Focus (mm)
FOCUSH
North-South Focus (mm)
LAST_POINTING = 13
East-West Focus (mm)

enum ObservingParameters

UTDATE = 0
UT
Universal Time Date (YYYY.MMDD)
LST
Universay Time (hours)
NORCHAN
LST (hours)
NOSWVAR
Number of receiver channels
NOPHASE
Number of switching variables
CYCLEN
Number of phases per cycle
SAMPRAT
Length of Cycle (seconds)
PHASEID = 9
Length of Sample (seconds)
LAST_OBSERVING
Phase number of this RECORDS data

enum Positions

EPOCH = 0
XSOURCE
Epoch (years)
YSOURCE
Commanded Source X (Degrees)
XREF
Commanded Source Y (Degrees)
YREF
Commanded Reference X (Degrees)
EPOCRA
Commanded Reference Y (Degrees)
EPOCDEC
Commanded RA at Epoch (Degrees)
GALLONG
Commanded Dec at Epoch (Degrees)
GALLAT
Commanded Galactic Longitude (Degrees)
AZ
Commanded Galactic Latitude (Degrees)
EL
Commanded Azumuth (Degrees)
INDX
Commanded Elevation (Degrees)
INDY
Indicated X Position (Degrees)
DESORG0
Indicated Y Position (Degrees)
DESORG1
Descriptive Origin (0) (Degrees)
DESORG2
Descriptive Origin (1) (Degrees)
LAST_POSITIONS = 17
Descriptive Origin (2) (Degrees)

enum Environment

TAMB = 0
PRESSURE
Ambient temperature (C)
HUMIDTY
Ambient Pressure (cm-Hg)
REFRAC
Ambient relative humidty (%)
DEWPT
Index of Refraction
MMH2O
Dew Point (C)
LAST_ENVIRONMENT
Mm of water

enum MapParameters

SCANANG = 0
XZERO
Map Scanning Angle (Degrees)
YZERO
X Position at Map Reference Position Zero
DELTAXR
Y Position at Map Reference Position Zero
DELTAYR
Delta X or X Rate (arcsec or arcsec/sec)
NOPTS
Delta Y or Y Rate (arcsec or arcsec/sec)
NOXPTS
Number of Grid Points
NOYPTS
Number of X Grid Points
XCELL0
Number of Y Grid Points
YCELL0
Starting X Grid Cell Number
LAST_MAP = 11
Starting Y Grid Cell Number

enum DataParameters

BHWHM = 0
OFFSCAN
Beam Halfwidth at Half Maximum (arcsec)
BADCHV
Off Scan Number
RVSYS
Bad Channel Value (K)
VELOCITY
Velocity Correction (km/s)
LAST_DATA = 7
Velocity with respect to Reference (km/s)

enum EngineeringParameters

APPEFF = 0
BEAMEFF
Antenna Aperture Efficiency
ANTGAIN
Antenna Beam Efficiency
ETAL
Antenna Gain
ETAFSS
Rear spill and scattering efficiency
LAST_ENGINEERING
Forward spill and scattering efficiency

enum GreenBank

L1 = 0
L1F1
MHz
L1F2
MHz
L2
MHz
L2F1
MHz
L2F2
MHz
LA
MHz
LB
MHz
LC
MHz
LD
MHz
LEVCORR
MHz
PTFUDGE0
Level Correction (Volts)
PTFUDGE1
Pointing Fudge (0) (arcmin)
RHO
Pointing Fudge (1) (arcmin)
THETA
Degrees
LAST_GREENBANK = 18
Degrees

enum Tucson

SYNFREQ = 0
LOFACT
Synthesizer Frequency (MHz)
HARMONIC
LO Factor
LOIF
FIRSTIF
MHz
RAZOFF
MHz
RELOFF
Reference Azimuth Offset (arcsec)
BMTHROW
Reference Elevation Offset (arcsec)
BMORENT
Beam Throw (arcsec)
BASEOFF
Beam Orientation (Degrees)
OBSTOL
Baseline offset (K)
SIDEBAND
Observing tolerance (arcsec)
WL
GAINS
Wavelength (mm)
PBEAM0
GAIN scan number
PBEAM1
+ Beam(0) (arcsec)
MBEAM0
+ Beam(1) (arcsec)
MBEAM1
- Beam(0) (arcsec)
SROFF0
- Beam(1) (arcsec)
SROFF1
RA/Dec Offsets (0) (arcsec)
SROFF2
RA/Dec Offsets (1) (arcsec)
SROFF3
RA/Dec Offsets (2) (arcsec)
FOFFSIG
RA/Dec Offsets (3) (arcsec)
FOFFREF1
Frequency Switching Signal Offset (MHz)
FOFFREF2
Frequency SwitchinG Reference Offset 1 (MHz)
LAST_TUCSON
Frequency SwitchinG Reference Offset 2 (MHz)

enum OriginalPhaseBlock

ORIGINAL_VARVAL = 0
LAST_ORIGINAL_PHASE = 3
Variable Value

enum OriginalPhaseBlockStrings

ORIGINAL_VARDES = 1
ORIGINAL_PHASTB
Variable Descriptor, 8 Characters

enum NewPhaseBlockBasics

NOSWVARF = 0
NUMCYC
Number of Fast Switching Variables
NUMCYCF
Number of Slow Cycles per Scan
NOPHASEF
Number of Fast Cycles per Scan
CYCLENF
Number of Fast Phases per Cycle
SAMPTIMF
Length of Fast Cycle (seconds)
LAST_NEW_PHASE_BASICS
Length of Fast Phase Sample (seconds)

enum NewPhaseBlock

VARVAL = 0
LAST_NEW_PHASE = 6
Variable Value

enum NewPhaseBlockStrings

VARDES = 1
PHASTB
Variable Descript, 8 characters

enum ReceiverBlock

OBSFREQ = 0
RESTFREQ
Observed Frequency
FREQRES
Rest Frequency
BW
Frequency Resolution (LINE) (MHz) or Scale Factor (CONT) (K/Count)
TRX
Bandwidth (MHz)
TCAL
Receiver Temperature (K)
STSYS
Calibration Temperature (K)
RTSYS
Source System Temperature (K)
TSOURCE
Reference System Temperature (K)
TRMS
Source Temperature (K)
REFPT
RMS of Mean (K)
X0
Reference Point Number
DELTAX
X Value at REFPT (km/sec or degrees)
INTTIME
Delta X (km/sec or degrees)
NOINT
Total integration time (seconds)
SPN
Number of integrations
TAUH2O
Starting Point Number
TH2O
H2O Opacity
TAUO2
H2O Temperature (K)
TO2
O2 Opacity
EFFINT = 21
O2 Temperature (K)
LAST_RECEIVER = 24
Effective Integration Time (sec)

enum ReductionParameters

NOSTAC = 0
FSCAN
Number of scans stacked
LSCAN
First scan in stack
LAMP
Last scan in stack
LWID
Line amplitude (K)
ILI
Line width (km/sec)
RMS
Integrated Line Intensity (K km/sec)
LAST_REDUCTION
RMS Noise (K)

Interface

Public Members
SDDHeader()
SDDHeader(istream& in)
SDDHeader(const SDDHeader& other)
~SDDHeader()
SDDHeader& operator=(const SDDHeader& other)
uInt fill(istream& in)
uInt write(ostream& out) const
void empty()
Bool isNRAO() const
Bool is12m() const
Bool is140ft() const
Bool isOTF() const
uInt nvectors() const
String get(StringHeader field) const
Bool put(StringHeader field, const String& value)
Double get(BasicInformation field) const
Bool put(BasicInformation field, const Double& value)
Double get(PointingParameters field) const
Bool put(PointingParameters field, const Double& value)
Double get(ObservingParameters field) const
Bool put(ObservingParameters field, const Double& value)
Double get(Positions field) const
Bool put(Positions field, const Double& value)
Double get(Environment field) const
Bool put(Environment field, const Double& value)
Double get(MapParameters field) const
Bool put(MapParameters field, const Double& value)
Double get(DataParameters field) const
Bool put(DataParameters field, const Double& value)
Double get(EngineeringParameters field) const
Bool put(EngineeringParameters field, const Double& value)
Double get(GreenBank field) const
Bool put(GreenBank field, const Double& value)
Double get(Tucson field) const
Bool put(Tucson field, const Double& value)
Double get(ReceiverBlock field) const
Bool put(ReceiverBlock field, const Double& value)
Double get(ReductionParameters field) const
Bool put(ReductionParameters field, const Double& value)
Double get(OriginalPhaseBlock, uInt whichBlock=0) const
Bool put(OriginalPhaseBlock field, const Double& value, uInt whichBlock=0)
String get(OriginalPhaseBlockStrings field, uInt whichBlock=0) const
Bool put(OriginalPhaseBlockStrings field, const String& value, uInt whichBlock=0)
Double get(NewPhaseBlockBasics field) const
Bool put(NewPhaseBlockBasics field, const Double& value)
Double get(NewPhaseBlock field, uInt whichBlock=0) const
Bool put(NewPhaseBlock field, const Double& value, uInt whichBlock)
String get(NewPhaseBlockStrings field, uInt whichBlock=0) const
Bool put(NewPhaseBlockStrings field, const String& value, uInt whichBlock=0)
Private Members
Double getFromClass(uInt whichClass, uInt offset) const
Bool putToClass(uInt whichClass, uInt offset, const Double& value)
void init_nchars()
void init_strOffset()
uInt setOffset(uInt whichClass, uInt number) const
void putPreamble()
void getPreamble()

Description

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Member Description

enum StringHeader

String Header Values

enum BasicInformation

R*8 (Double) Header values

enum PointingParameters

enum ObservingParameters

enum Positions

enum Environment

enum MapParameters

enum DataParameters

enum EngineeringParameters

enum GreenBank

enum Tucson

enum OriginalPhaseBlock

enum OriginalPhaseBlockStrings

enum NewPhaseBlockBasics

enum NewPhaseBlock

enum NewPhaseBlockStrings

enum ReceiverBlock

enum ReductionParameters

SDDHeader()

construct an empty header block, minimal header, no data array

SDDHeader(istream& in)

construct one from istream, uses start of istream to determine how many records to use

SDDHeader(const SDDHeader& other)

copy constructor, true copy

~SDDHeader()

clean up the pointers

SDDHeader& operator=(const SDDHeader& other)

assignment operator, true copy

uInt fill(istream& in)

fill an existing SDDHeader from istream, uses start of istream to determine how many records to use, returns number of bytes actually read the header is resized if necessary

uInt write(ostream& out) const

write to ostream, returns the number of bytes actually written

void empty()

empty out all the header words

Bool isNRAO() const

Is it an NRAO telescope (12m or 140')

Bool is12m() const

Is it the 12m

Bool is140ft() const

Is it the 140'

Bool isOTF() const

see if this is an OTF scan

uInt nvectors() const

The number of data vectors present (only !=1 for OTF amd POLZ data at present)

String get(StringHeader field) const

functions to retrieve and set parameters for now, its just simpler to adopt the unipops rule and do no sanity checks on any values (except the string header words)

for string header words, they must be less than the approproate length or that string will not be set.

Bool put(StringHeader field, const String& value)

Double get(BasicInformation field) const

Bool put(BasicInformation field, const Double& value)

Double get(PointingParameters field) const

Bool put(PointingParameters field, const Double& value)

Double get(ObservingParameters field) const

Bool put(ObservingParameters field, const Double& value)

Double get(Positions field) const

Bool put(Positions field, const Double& value)

Double get(Environment field) const

Bool put(Environment field, const Double& value)

Double get(MapParameters field) const

Bool put(MapParameters field, const Double& value)

Double get(DataParameters field) const

Bool put(DataParameters field, const Double& value)

Double get(EngineeringParameters field) const

Bool put(EngineeringParameters field, const Double& value)

Double get(GreenBank field) const

Bool put(GreenBank field, const Double& value)

Double get(Tucson field) const

Bool put(Tucson field, const Double& value)

Double get(ReceiverBlock field) const

Bool put(ReceiverBlock field, const Double& value)

Double get(ReductionParameters field) const

Bool put(ReductionParameters field, const Double& value)

Double get(OriginalPhaseBlock, uInt whichBlock=0) const

Old class 11, need to specify which block as well as the field

Bool put(OriginalPhaseBlock field, const Double& value, uInt whichBlock=0)

String get(OriginalPhaseBlockStrings field, uInt whichBlock=0) const

String get and put

Bool put(OriginalPhaseBlockStrings field, const String& value, uInt whichBlock=0)

Double get(NewPhaseBlockBasics field) const

New class 11, the basics are only at the start of the class

Bool put(NewPhaseBlockBasics field, const Double& value)

Double get(NewPhaseBlock field, uInt whichBlock=0) const

And for the rest, the block needs to be specified

Bool put(NewPhaseBlock field, const Double& value, uInt whichBlock)

String get(NewPhaseBlockStrings field, uInt whichBlock=0) const

Strings need get and put

Bool put(NewPhaseBlockStrings field, const String& value, uInt whichBlock=0)

Double getFromClass(uInt whichClass, uInt offset) const

Bool putToClass(uInt whichClass, uInt offset, const Double& value)

void init_nchars()

void init_strOffset()

uInt setOffset(uInt whichClass, uInt number) const

void putPreamble()

void getPreamble()