File indexing completed on 2026-08-06 09:23:58
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef SRC_HERWIG_UI_H
0010 #define SRC_HERWIG_UI_H
0011
0012 #include <vector>
0013 #include <string>
0014 #include <iosfwd>
0015
0016 namespace Herwig {
0017
0018
0019
0020
0021 namespace RunMode {
0022 enum Mode { ERROR, INIT, READ, BUILD, INTEGRATE, MERGEGRIDS, RUN };
0023 }
0024
0025
0026
0027
0028
0029
0030
0031 class HerwigUI {
0032
0033 public:
0034
0035
0036 virtual RunMode::Mode runMode() const = 0;
0037
0038
0039 virtual std::string repository() const = 0;
0040
0041
0042 virtual std::string inputfile() const = 0;
0043
0044
0045 virtual std::string setupfile() const = 0;
0046
0047
0048 virtual bool resume() const = 0;
0049
0050
0051 virtual bool tics() const = 0;
0052
0053
0054 virtual std::string tag() const = 0;
0055
0056
0057 virtual std::string integrationList() const = 0;
0058
0059
0060 virtual const std::vector<std::string> & prependReadDirectories() const = 0;
0061
0062
0063 virtual const std::vector<std::string> & appendReadDirectories() const = 0;
0064
0065
0066 virtual long N() const = 0;
0067
0068
0069 virtual int seed() const = 0;
0070
0071
0072 virtual int jobs() const = 0;
0073
0074
0075 virtual unsigned int jobSize() const = 0;
0076
0077
0078 virtual unsigned int maxJobs() const = 0;
0079
0080
0081 virtual void quitWithHelp() const = 0;
0082
0083
0084 virtual void quit() const = 0;
0085
0086
0087 virtual ~HerwigUI() {}
0088
0089
0090 bool integrationJob() const {
0091 return runMode() == RunMode::INTEGRATE;
0092 }
0093
0094
0095 virtual std::ostream& outStream() const = 0;
0096
0097
0098 virtual std::ostream& errStream() const = 0;
0099
0100
0101 virtual std::istream& inStream() const = 0;
0102
0103 };
0104
0105 }
0106
0107 #endif