1 #ifndef MHO_ControlConditionEvaluator_HH__
2 #define MHO_ControlConditionEvaluator_HH__
57 using token_iter = std::vector< std::string >::iterator;
66 int ProcessToken(token_iter& it, token_iter& it_end);
74 int EvaluateStation(token_iter& it);
81 int EvaluateBaseline(token_iter& it);
88 int EvaluateSource(token_iter& it);
95 int EvaluateFrequencyGroup(token_iter& it);
103 int EvaluateScan(token_iter& it, token_iter& it_end);
111 int ScanLessThan(std::string
scan);
118 int ScanGreaterThan(std::string
scan);
126 int ScanInBetween(std::string scan_low, std::string scan_high);
134 int EvaluateBooleanOps(std::list< int > states);
136 std::string fWildcard;
138 std::string fBaseline;
139 std::string fRefStation;
140 std::string fRemStation;
143 std::string fScanTime;
145 std::size_t fStartLineNumber;
evaluates conditional statements encounterd in control file syntax
Definition: MHO_ControlConditionEvaluator.hh:24
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:70
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:31
MHO_ControlConditionEvaluator()
Definition: MHO_ControlConditionEvaluator.cc:17
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:42
virtual ~MHO_ControlConditionEvaluator()
Definition: MHO_ControlConditionEvaluator.cc:28
int baseline
Definition: fourfit3.c:62
Definition: MHO_ChannelLabeler.hh:17