17#include <boost/optional.hpp>
104 boost::optional<double> detectorDistance = boost::none)
const = 0;
112 virtual std::unique_ptr<Mantid::Geometry::IPeak>
133 virtual std::unique_ptr<Geometry::IPeak>
createPeak()
const = 0;
166 bool labCoords)
const = 0;
178 const std::string toString()
const override;
This class is shared by a few Workspace types and holds information related to a particular experimen...
Interface to the class Mantid::DataObjects::PeaksWorkspace.
Mantid::Geometry::IPeak * getPeakPtr(const int peakNum)
Return a pointer to the Peak.
virtual void addPeak(const Kernel::V3D &position, const Kernel::SpecialCoordinateSystem &frame)=0
Add a peak to the list.
virtual Kernel::SpecialCoordinateSystem getSpecialCoordinateSystem() const =0
Get the special coordinate system.
virtual Mantid::Geometry::IPeak & getPeak(int peakNum)=0
Return a reference to the Peak.
virtual bool hasIntegratedPeaks() const =0
Determine if the workspace has been integrated using a peaks integration algorithm.
virtual API::ITableWorkspace_sptr createDetectorTable() const =0
Creates a new TableWorkspace giving the IDs of the detectors that contribute to the peak.
virtual void removePeak(int peakNum)=0
Removes the indicated peak.
virtual void removePeaks(std::vector< int > badPeaks)=0
virtual void addPeak(const Mantid::Geometry::IPeak &ipeak)=0
Add a peak to the list.
virtual int peakInfoNumber(const Kernel::V3D &qLabFrame, bool labCoords) const =0
virtual std::unique_ptr< Geometry::IPeak > createPeak() const =0
Create an instance of a peak using default constructor.
virtual const Mantid::Geometry::IPeak & getPeak(int peakNum) const =0
Return a reference to the Peak (const version)
virtual std::vector< std::pair< std::string, std::string > > peakInfo(const Kernel::V3D &QFrame, bool labCoords) const =0
virtual std::string getConvention() const =0
virtual std::unique_ptr< Geometry::IPeak > createPeak(const Mantid::Kernel::V3D &QLabFrame, boost::optional< double > detectorDistance=boost::none) const =0
Create an instance of a Peak.
IPeaksWorkspace(const IPeaksWorkspace &)=default
Protected copy constructor. May be used by childs for cloning.
virtual std::unique_ptr< Mantid::Geometry::IPeak > createPeak(const Mantid::Kernel::V3D &position, const Mantid::Kernel::SpecialCoordinateSystem &frame) const =0
Create an instance of a Peak.
IPeaksWorkspace & operator=(const IPeaksWorkspace &other)=delete
virtual void setCoordinateSystem(const Kernel::SpecialCoordinateSystem coordinateSystem)=0
Set the special coordinate system.
virtual void saveNexus(::NeXus::File *file) const =0
virtual std::unique_ptr< Geometry::IPeak > createPeakHKL(const Mantid::Kernel::V3D &HKL) const =0
Create an instance of a peak using a V3D.
IPeaksWorkspace * doClone() const override=0
Virtual clone method. Not implemented to force implementation in children.
virtual int getNumberPeaks() const =0
virtual std::unique_ptr< Mantid::Geometry::IPeak > createPeakQSample(const Mantid::Kernel::V3D &position) const =0
Create an instance of a Peak.
IPeaksWorkspace_uptr clone() const
Returns a clone of the workspace.
ITableWorkspace is an implementation of Workspace in which the data are organised in columns of same ...
Structure describing a single-crystal peak.
Manage the lifetime of a class intended to be a singleton.
std::unique_ptr< IPeaksWorkspace > IPeaksWorkspace_uptr
unique pointer to Mantid::API::IPeaksWorkspace
std::shared_ptr< ITableWorkspace > ITableWorkspace_sptr
shared pointer to Mantid::API::ITableWorkspace
SpecialCoordinateSystem
Special coordinate systems for Q3D.
Helper class which provides the Collimation Length for SANS instruments.