11 #ifndef CARMA_SDP_TRIALPROJECTDATA_H
12 #define CARMA_SDP_TRIALPROJECTDATA_H
17 #include <xercesc/sax2/Attributes.hpp>
24 using namespace XERCES_CPP_NAMESPACE;
36 std::vector<int> windowNumber;
37 std::vector<double> resolution;
38 std::vector<int> numberOfChannels;
39 std::vector<double> minfreq;
46 std::string sourceName;
53 double observationLength;
54 std::vector<int> correlatorSetup;
61 std::string calibratorName;
66 double observationLength;
67 std::vector<int> correlatorSetup;
75 std::string transition;
101 void resetIntegrationData();
105 bool addAstroHdrElement(
const Attributes& attr);
109 bool addFreqInfo(
const std::vector<double>& sfreq,
110 const std::vector<double>& sdf,
111 const std::vector<int>& nschan);
115 bool processIntegration();
119 bool updateProjectDatabase();
121 void addScriptToMiriad(std::string miriadFile);
127 std::string obsBlockId_p, astroHdrFile_p;
132 std::vector<std::string> obsBlockIdComponents_p;
138 std::vector<int> antennas_p;
139 double time_p, lst_p, ra_p, dec_p, veldop_p;
140 float inttime_p, dra_p, ddec_p, vsource_p;
141 int fswitch_p, selfcal_p;
142 std::string source_p, veltype_p, purpose_p, obsline_p;
143 std::map<std::string, bool> astroHdrValidity_p;
149 std::vector<double> sfreq_p, sdf_p;
150 std::vector<int> nschan_p;
155 std::map<int, ProjectCorrelatorSetup> correlatorSetup_p;
156 std::vector<ProjectSourceData> sources_p;
157 std::vector<ProjectCalibratorData> calibrators_p;
158 std::vector<ProjectTargetData> targets_p;
159 std::vector<double> trialObservedLST_p;
160 std::vector<float> pointingOffsets_p;
161 std::vector<double> trialObservationDate_p;
162 int currentCorrelatorSetup_p, fastSwitch_p, numberOfAntennas_p;
163 bool correlatorValid_p;
165 bool processIntegrationCalled_;
168 void processCorrelatorSetupInfo();
172 void processSourceInfo();
176 void processCalibratorInfo();
180 void processTargetInfo();
184 void processPointingOffsetInfo();
188 void processAntennaInfo();
192 void processSwitchingInfo();
196 void processTimeInfo();
200 bool valid(
const std::string& names);
204 double rdiff(
const double& a,
const double& b);
208 void compareType(
const std::string& str1, std::string& str2);
Project data target information.
Project data source information.
A class to accumulate project data for an obsblock trial.
Project data correlator setup.
Project data calibrator information.