

#ifndef GETDPMATERIALWRITER_HPP_
#define GETDPMATERIALWRITER_HPP_

#include <map>
#include "setup/InputValue.hpp"
#include "setup/Material.hpp"
#include "setup/Domains.hpp"
#include "setup/bcs.hpp"


std::map<std::string, InputValue> getMaterialData();
class GetdpMaterialWriter
{
public:
	GetdpMaterialWriter(Material, std::string);
	std::string writeData();
	static std::vector<std::pair<float, float>> effectiveBH(std::string data);
	void setHarmonic(bool);

private:
	Material mat;
	std::string entity_name;

	bool isHarmonic;

	std::string magneticBH(std::string data, bool harmonicFlag);
	std::string magneticBHWithT(std::string data, bool harmonicFlag, std::string TCurie, std::string Texp);
	std::string muWithT(std::string data, std::string TCurie, std::string Texp);


};



#endif // GETDPMATERIALWRITER_HPP_
