#ifndef ORIONAREAMODEL_H_
#define ORIONAREAMODEL_H_

#include <vector>
#include "models/onchipcommunication/common/AreaModel.h"
#include "include/onchipcommunication/typedefs.h"
#include "quantities/onchipcommunication/Ports.h"
#include "quantities/onchipcommunication/NodeParameter.h"
#include "io/onchipcommunication/HoOrionModelParser.h"

namespace cosi {

namespace models {

namespace onchipcommunication {

class OrionAreaModel : public NodeAreaModel {

public:

	OrionAreaModel(cosi::library::onchipcommunication::Technology pTech);

	virtual ~OrionAreaModel();

	double GetArea(Name pName,
			cosi::quantity::onchipcommunication::Ports pPorts,
			cosi::quantity::onchipcommunication::NodeParameter pParam);

private:
	std::vector<std::vector<double> > mArouter1ch32;
	std::vector<std::vector<double> > mArouter4ch32;
	std::vector<std::vector<double> > mArouter1ch128;
	std::vector<std::vector<double> > mArouter4ch128;
	int mMaxIn ;
	int mMaxOut ;

};

}

}

}

#endif /*NODEAREAMODEL_H_*/
