12#include "MantidAPI/DllConfig.h"
23class CrystalStructure;
25class SampleEnvironment;
42 void saveNexus(Nexus::File *file,
const std::string &
group)
const;
43 int loadNexus(Nexus::File *file,
const std::string &
group);
48 std::size_t size()
const;
50 void addSample(
const std::shared_ptr<Sample> &childSample);
53 const std::string &
getName()
const;
55 void setName(
const std::string &
name);
57 bool hasShape()
const;
73 bool hasEnvironment()
const;
77 void setEnvironment(std::shared_ptr<Geometry::SampleEnvironment> env);
88 void setOrientedLattice(std::unique_ptr<Geometry::OrientedLattice> lattice);
89 bool hasOrientedLattice()
const;
96 bool hasCrystalStructure()
const;
97 void clearCrystalStructure();
105 void setGeometryFlag(
int geom_id);
107 int getGeometryFlag()
const;
109 void setThickness(
double thick);
111 double getThickness()
const;
113 void setHeight(
double height);
115 double getHeight()
const;
117 void setWidth(
double width);
119 double getWidth()
const;
122 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)