irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
settings.h
Go to the documentation of this file.
1 #ifndef SETTINGS_H
2 #define SETTINGS_H
3 
7 #include <vector>
8 #include <string>
9 
10 namespace irafhy
11 {
12  class Settings
13  {
14  protected:
18  Time duration_ = Time(0.0, 0.0);
22  double step_ = -1.0;
26  long int maxJump_ = 1;
30  bool plot_ = false;
34  bool print_ = false;
39  //TODO order setting
43  std::string startModelID_ = std::string();
52 
53  public:
57  virtual ~Settings() = default;
62  virtual void setDuration(const Time& duration);
67  virtual void setStep(double step);
72  virtual void setMaxJump(long int maxJump);
77  virtual void setPlot(bool plot);
82  virtual void setPrint(bool print);
87  virtual void setAnalysis(ANALYSIS analysis);
92  virtual void setGeometry(GEOMETRY geometry);
97  virtual void setStartModelID(const std::string& startModelID);
102  virtual void setInitCondition(const Condition& initCondition);
107  [[nodiscard]] virtual Time duration() const;
112  [[nodiscard]] virtual double step() const;
117  [[nodiscard]] virtual long int maxJump() const;
122  [[nodiscard]] virtual bool plot() const;
127  [[nodiscard]] virtual bool print() const;
132  [[nodiscard]] virtual ANALYSIS analysis() const;
137  [[nodiscard]] virtual GEOMETRY geometry() const;
142  [[nodiscard]] virtual std::string startModelID() const;
147  [[nodiscard]] virtual Condition initCondition() const;
151  virtual void help() const;
158  friend std::ostream& operator<<(std::ostream& out, const Settings& rhs);
159  };
160 } // namespace irafhy
161 #endif //SETTINGS_H
virtual void setAnalysis(ANALYSIS analysis)
set the analysis type
Definition: settings.cpp:40
virtual void setPlot(bool plot)
set the plotting setting
Definition: settings.cpp:30
virtual void help() const
help function
Definition: settings.cpp:5
virtual void setStartModelID(const std::string &startModelID)
set the id of the start mode
Definition: settings.cpp:44
struct used to hold the duration information
Definition: metaStructure.h:14
virtual ~Settings()=default
destructor
double step_
time step size of the iteration
Definition: settings.h:22
GEOMETRY
supported geometry object
Definition: enum.h:75
virtual long int maxJump() const
get the max allowed jumps for the duration
Definition: settings.cpp:68
Definition: condition.h:22
bool print_
print the results into files or not
Definition: settings.h:34
static Condition Empty(GEOMETRY geometry=GEOMETRY::INTERVAL_HULL, std::size_t dimension=0)
constructor for empty condition
Definition: condition.cpp:7
Condition initCondition_
initial condition of the start mode
Definition: settings.h:47
Definition: settings.h:12
bool plot_
plot the results or not
Definition: settings.h:30
ANALYSIS
direction of the integration respect to the direction of vector filed
Definition: enum.h:67
virtual void setInitCondition(const Condition &initCondition)
set the initial condition of the start mode with given condition
Definition: settings.cpp:50
virtual bool print() const
get the print setting of the simulation
Definition: settings.cpp:74
virtual GEOMETRY geometry() const
get the type of geometry object used to hold states
Definition: settings.cpp:80
virtual void setStep(double step)
set the step size of the simulation
Definition: settings.cpp:24
virtual void setDuration(const Time &duration)
set the duration of the simulation with given information
Definition: settings.cpp:18
virtual Time duration() const
get the duration of the simulation
Definition: settings.cpp:56
Definition: enum.h:77
Definition: condition.cpp:3
virtual void setPrint(bool print)
set the print setting
Definition: settings.cpp:38
virtual Condition initCondition() const
get the initial condition of the start mode
Definition: settings.cpp:88
GEOMETRY geometry_
geometry objects using to hold the states
Definition: settings.h:51
Time duration_
duration of the simulation
Definition: settings.h:18
std::string startModelID_
id of the start mode
Definition: settings.h:43
virtual void setGeometry(GEOMETRY geometry)
set the geometry object type used to hold states during computation
Definition: settings.cpp:42
virtual double step() const
get the step size of the simulation
Definition: settings.cpp:62
virtual bool plot() const
get the plotting setting of the simulation
Definition: settings.cpp:76
ANALYSIS analysis_
forward or backward
Definition: settings.h:38
friend std::ostream & operator<<(std::ostream &out, const Settings &rhs)
out the right hand side settings to standard out stream
Definition: settings.cpp:94
virtual ANALYSIS analysis() const
get the analysis type
Definition: settings.cpp:78
virtual std::string startModelID() const
get the id of the start mode
Definition: settings.cpp:82
Definition: enum.h:69
virtual void setMaxJump(long int maxJump)
set the max jumps
Definition: settings.cpp:32
long int maxJump_
max allowed jumps for the specified duration
Definition: settings.h:26