1 #ifndef MHO_ControlConditionEvaluator_HH__
2 #define MHO_ControlConditionEvaluator_HH__
58 using token_iter = std::vector< std::string >::iterator;
67 int ProcessToken(token_iter& it, token_iter& it_end);
75 int EvaluateStation(token_iter& it);
83 int EvaluateBaseline(token_iter& it);
91 int EvaluateTwoCharacterBaseline(token_iter& it);
99 int EvaluateMultiCharacterBaseline(token_iter& it);
107 int EvaluateSource(token_iter& it);
114 int EvaluateFrequencyGroup(token_iter& it);
122 int EvaluateScan(token_iter& it, token_iter& it_end);
130 int ScanLessThan(std::string
scan);
137 int ScanGreaterThan(std::string
scan);
145 int ScanInBetween(std::string scan_low, std::string scan_high);
153 int EvaluateBooleanOps(std::list< int > states);
157 std::string fWildcard;
159 std::string fBaselineMk4;
160 std::string fRefStationMk4ID;
161 std::string fRemStationMk4ID;
163 std::string fCanonicalRefStation;
164 std::string fCanonicalRemStation;
168 std::string fScanTime;
170 std::size_t fStartLineNumber;
evaluates conditional statements encounterd in control file syntax
Definition: MHO_ControlConditionEvaluator.hh:25
bool Evaluate(mho_json &control_condition)
Evaluates a single condition from an mho_json object and returns the result as a boolean.
Definition: MHO_ControlConditionEvaluator.cc:93
void SetPassInformation(std::string baseline, std::string source, std::string fgroup, std::string scan_time)
Setter for pass (baseline, source, frequency group, scan) information.
Definition: MHO_ControlConditionEvaluator.cc:35
MHO_ControlConditionEvaluator()
Definition: MHO_ControlConditionEvaluator.cc:18
mho_json GetApplicableStatements(mho_json &control_contents)
reduces the contents of a control file to only those statements which are applicable for this pass
Definition: MHO_ControlConditionEvaluator.cc:65
virtual ~MHO_ControlConditionEvaluator()
Definition: MHO_ControlConditionEvaluator.cc:32
int baseline
Definition: fourfit3.c:62
Definition: MHO_AdhocFlagging.hh:18