//---------------------------------------------------------------------------

#ifndef SimH
#define SimH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TSimForm : public TForm
{
__published:	// IDE-managed Components
private:	// User declarations

public:		// User declarations
  __fastcall TSimForm(TComponent* Owner);
  bool SepUnits, Restricted, Lake, Puddle;
  bool RateModel, BipModel;
  bool TwoStep, FiveStep;
  float TauQAPQ, TauPQ, TauQAQB, TauQAQB2, TauQB2PQ, TauAss, sig;
  int   NoRC, PQPool, SimRuns;
  float kp, kl, kf, kto, kbo, ktc, kbc, klrc,redox, pqredox, rctot;
  float exs[100001], fif[100001], fip[100001], fih[100001], red[100001];
  float pqred[100001];
  float evtime[100001], evvalu[100001];
  int noev, TimeMax;
  float SimTime, SimStep, SimRec;
  void __fastcall Simulate();
  void __fastcall SimRun(int NoRun);
  char    text[20];
  bool  QA_reduced[100001], QA_reoxidation_pending[100001];
  unsigned char PQ_reduced[100001];
  //int   rcqatim[100000], rctimpq[100000];
  //int   rcpqel[10][100000], rcpqtim[100000];
  int ev_ptr[1000001];
  int ev_rc[1000001], ev_rcnext[1000001];
  unsigned char ev_op[1000001];
  long int evfirst, evlast, evcurr;
  float tim[2000], f[2000], ex[2000];
};
//---------------------------------------------------------------------------
extern PACKAGE TSimForm *SimForm;
//---------------------------------------------------------------------------
#endif
