#ifndef INITIAL_STATE_HPP
#define INITIAL_STATE_HPP

#include <list>
#include "physics.hpp"
#include "geometry.hpp"
#include "math/spline.hpp"

using namespace std;

class Tank{
public:
  double saturation;
  double left,right,bottom,top;
  double delta_left,delta_right,delta_bottom,delta_top;
  Tank();
};



class InitialState{
private:

  Spline* Ssat;
  Geometry* geometry;
public:
  double* hsat;
  double** Pinit;
  list<Tank*> tanks;
  InitialState();
  ~InitialState();
  void update(Geometry& geometry,Spline& Ssat);
  Tank* addTank();
  void removeTank(Tank* tank);

  void updatePressure();
};


#endif
