#ifndef HODELAYMODEL_H_
#define HODELAYMODEL_H_

#include <vector>
#include "models/onchipcommunication/common/DelayModel.h"
#include "io/onchipcommunication/HoOrionModelParser.h"
#include "include/onchipcommunication/typedefs.h"

namespace cosi {

namespace models {

namespace onchipcommunication {

class HoDelayModel : public LinkDelayModel {
public:
	HoDelayModel(cosi::library::onchipcommunication::Technology pTech);
	virtual ~HoDelayModel();
	double GetDelay(Name pName,
			cosi::quantity::onchipcommunication::Interface pSource,
			cosi::quantity::onchipcommunication::Interface pDest,
			WiringPath pPath,
			cosi::quantity::onchipcommunication::LinkParameter pParam);
private:
	double mHopt;
	double mKopt;
	double mWmin;
	double mR0;
	double mC0;
	double mCp;
	double mD ;
	std::vector<double> mR;
	std::vector<double> mC;
	std::vector<double> mPitch;

};

}

}

}

#endif /*HODELAYMODEL_H_*/
