3 #ifndef SZA_UTIL_FASTPDB_H
4 #define SZA_UTIL_FASTPDB_H
44 EmlFreq(
const EmlFreq& proj);
45 EmlFreq(EmlFreq& proj);
47 void operator=(
const EmlFreq& proj);
48 void operator=(EmlFreq& proj);
57 std::vector<EmlSrcType> types_;
60 static std::string typeString(FastPdb::EmlSrcType type);
63 EmlSrc(
const EmlSrc& proj);
70 void addType(EmlSrcType type);
71 void operator=(
const EmlSrc& proj);
72 void operator=(EmlSrc& proj);
77 std::string startDate_;
78 std::string stopDate_;
79 std::vector<EmlSrc> sources_;
80 std::vector<EmlFreq> freqs_;
81 std::map<std::string, EmlSrc*> srcMap_;
85 EmlTrial(
const EmlTrial& proj);
86 EmlTrial(EmlTrial& proj);
92 void addSource(EmlSrc& src);
93 void addFreq(EmlFreq& freq);
94 void operator=(
const EmlTrial& proj);
95 void operator=(EmlTrial& proj);
98 struct EmlSubObsblock {
100 std::vector<EmlTrial> trials_;
103 EmlSubObsblock(
const EmlSubObsblock& proj);
104 EmlSubObsblock(EmlSubObsblock& proj);
105 void operator=(
const EmlSubObsblock& proj);
106 void operator=(EmlSubObsblock& proj);
111 std::vector<EmlSubObsblock> subObsblocks_;
112 std::map<std::string, EmlSubObsblock*> subObsblockMap_;
115 EmlObsblock(
const EmlObsblock& proj);
116 EmlObsblock(EmlObsblock& proj);
117 void operator=(
const EmlObsblock& proj);
118 void operator=(EmlObsblock& proj);
123 std::vector<EmlObsblock> obsblocks_;
124 std::map<std::string, EmlObsblock*> obsblockMap_;
127 EmlProject(
const EmlProject& proj);
128 EmlProject(EmlProject& proj);
130 void operator=(
const EmlProject& proj);
131 void operator=(EmlProject& proj);
144 void createDatabase(std::string file);
145 std::string listTrialsMatchingProject(std::string project);
146 std::string listTrialsMatchingSource(std::string source,
bool doFreq=
false,
double freq=0.0);
152 std::vector<EmlProject> projects_;
161 #endif // End #ifndef SZA_UTIL_FASTPDB_H