12#include "MantidAPI/DllConfig.h"
21class CrystalStructure;
23class SampleEnvironment;
40 void saveNexus(::NeXus::File *file,
const std::string &group)
const;
41 int loadNexus(::NeXus::File *file,
const std::string &group);
46 std::size_t size()
const;
48 void addSample(
const std::shared_ptr<Sample> &childSample);
51 const std::string &
getName()
const;
53 void setName(
const std::string &name);
55 bool hasShape()
const;
71 bool hasEnvironment()
const;
75 void setEnvironment(std::shared_ptr<Geometry::SampleEnvironment> env);
86 void setOrientedLattice(std::unique_ptr<Geometry::OrientedLattice> lattice);
87 bool hasOrientedLattice()
const;
94 bool hasCrystalStructure()
const;
95 void clearCrystalStructure();
103 void setGeometryFlag(
int geom_id);
105 int getGeometryFlag()
const;
107 void setThickness(
double thick);
109 double getThickness()
const;
111 void setHeight(
double height);
113 double getHeight()
const;
115 void setWidth(
double width);
117 double getWidth()
const;
120 void clearOrientedLattice();
const std::vector< double > & rhs
std::map< DeltaEMode::Type, std::string > index
std::string getName(const IMDDimension &self)
This class stores information about the sample used in particular run.
double m_width
The sample width from the SPB_STRUCT in the raw file.
double m_thick
The sample thickness from the SPB_STRUCT in the raw file.
std::string m_name
The sample name.
std::unique_ptr< Geometry::OrientedLattice > m_lattice
Pointer to the OrientedLattice of the sample, NULL if not set.
std::shared_ptr< Geometry::SampleEnvironment > m_environment
An owned pointer to the SampleEnvironment object.
std::unique_ptr< Geometry::CrystalStructure > m_crystalStructure
CrystalStructure of the sample.
std::vector< std::shared_ptr< Sample > > m_samples
Vector of child samples.
int m_geom_id
The sample geometry flag.
double m_height
The sample height from the SPB_STRUCT in the raw file.
Geometry::IObject_sptr m_shape
The sample shape object.
Three components are required to describe a crystal structure:
IObject : Interface for geometry objects.
Class to implement UB matrix.
Defines a single instance of a SampleEnvironment.
A material is defined as being composed of a given element, defined as a PhysicalConstants::NeutronAt...
std::shared_ptr< IObject > IObject_sptr
Typdef for a shared pointer.
Helper class which provides the Collimation Length for SANS instruments.
constexpr bool operator==(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
constexpr bool operator!=(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)