Example #1
0
static void ConvertSampleToXML(xmlpp::Element *sampleXML, Sample &sampleBAM) {
	std::vector<std::string> elements(sampleBAM.GetElements());

	for (std::vector<std::string>::iterator it = elements.begin() ; it != elements.end() ; ++it) {
		SingleElement single_element = sampleBAM.GetSingleElement(*it);
		xmlpp::Element *element_rxi = sampleXML->add_child("element_rxi");
		element_rxi->set_attribute("element", single_element.GetElement());
		element_rxi->set_attribute("linetype", single_element.GetLineType());
		element_rxi->set_attribute("datatype", single_element.GetDataType());
		element_rxi->set_attribute("excitation_energy", single_element.GetExcitationEnergyString());
		element_rxi->add_child_text(single_element.GetRXIString());
	}
	std::map<std::string,double> asrfiles = sampleBAM.GetASRfiles();
	for (std::map<std::string,double>::iterator iter = asrfiles.begin() ; 
		iter != asrfiles.end() ;
		++iter) {
		xmlpp::Element *new_asrfile = sampleXML->add_child("asrfile");
		new_asrfile->add_child_text(iter->first);
		std::stringstream ss;
		ss << iter->second;
		new_asrfile->set_attribute("excitation_energy", ss.str());	
	}
	sampleXML->add_child("density")->add_child_text(sampleBAM.GetDensityString());
	sampleXML->add_child("thickness")->add_child_text(sampleBAM.GetThicknessString());
	sampleXML->set_attribute("density_thickness", sampleBAM.GetDensityThicknessFixedString());
	sampleXML->set_attribute("matrix", sampleBAM.GetMatrixString());

	return;
}