#ifndef _HEADER_INCLUDED__AutoCal_H
#define _HEADER_INCLUDED__AutoCal_H

#include <iostream>
#include <string>

using std::string;
using std::cout;
using std::cin;
using std::endl;

struct T_Cal
{
	int			nsteps1, nsteps2, nsteps3; // number of steps in first calibration
	int			ncombi; // number of parameter combinations
	double		lb1, lb2, lb3;
	double		ub1, ub2, ub3;
};

struct T_NonLinear_Parms
{
	double		Tw;
	double		c;
	double		f;
};

class IHAC_AutoCal
{
public:
	IHAC_AutoCal();
	~IHAC_AutoCal();

	T_Cal				CP; // Calibration Parameters
	T_NonLinear_Parms	*NLP; // Non-linear module parameter set

private:

	T_NonLinear_Parms	*_Set_PreCalibration1_Parms(T_Cal CP, T_NonLinear_Parms *NLP);
	void				_InitCP();
	

};

#endif /* _HEADER_INCLUDED__AutoCal_H */
