9#include "MantidDataHandling/DllConfig.h"
14#include <unordered_map>
23namespace DataHandling {
31 static constexpr const char *ROOT_TAG =
"environmentspec";
42 void validateRootElement(Poco::XML::Element *element)
const;
43 void parseMaterials(Poco::XML::Element *element);
48 std::shared_ptr<Geometry::IObject> parseComponent(Poco::XML::Element *element)
const;
49 std::shared_ptr<Geometry::MeshObject> loadMeshFromSTL(Poco::XML::Element *stlFileElement)
const;
50 void LoadOptionalDoubleFromXML(Poco::XML::Element *componentElement,
const std::string &elementName,
51 double &targetVariable)
const;
52 std::vector<double> parseTranslationVector(
const std::string &translationVectorStr)
const;
53 std::string findFile(
const std::string &filename)
const;
Read an XML definition of a SampleEnvironmentSpec and produce a new SampleEnvironmentSpec object.
std::unordered_map< std::string, Kernel::Material > MaterialsIndex
MaterialsIndex m_materials
Defines the properties of a named SampleEnvironment setup.
std::unique_ptr< SampleEnvironmentSpec > SampleEnvironmentSpec_uptr
unique_ptr to a SampleEnvironmentSpec
std::shared_ptr< const Container > Container_const_sptr
Typdef for a shared pointer to a const object.
Helper class which provides the Collimation Length for SANS instruments.