17#include <boost/optional.hpp>
23class InstrumentRayTracer;
26namespace DataObjects {
38 boost::optional<double> detectorDistance = boost::none);
57#if defined(_MSC_VER) && _MSC_VER <= 1910
71 boost::optional<double> detectorDistance = boost::none);
73 void setDetectorID(
int id);
74 int getDetectorID()
const;
75 void addContributingDetID(
const int id);
76 void removeContributingDetector(
const int id);
77 const std::set<int> &getContributingDetIDs()
const;
82 std::shared_ptr<const Geometry::ReferenceFrame> getReferenceFrame()
const override;
84 int getCol()
const override;
87 int getRow()
const override;
90 std::string getBankName()
const;
91 void setBankName(std::string bankName);
102 boost::optional<double> detectorDistance = boost::none)
override;
103 void setQLabFrame(
const Mantid::Kernel::V3D &qLab, boost::optional<double> detectorDistance = boost::none)
override;
105 void setWavelength(
double wavelength)
override;
106 double getWavelength()
const override;
107 double getScattering()
const override;
108 double getAzimuthal()
const override;
109 double getDSpacing()
const override;
110 double getTOF()
const override;
112 double getInitialEnergy()
const override;
113 double getFinalEnergy()
const override;
114 double getEnergyTransfer()
const override;
115 void setInitialEnergy(
double m_initialEnergy)
override;
116 void setFinalEnergy(
double m_finalEnergy)
override;
119 double getL1()
const override;
120 double getL2()
const override;
128 double getValueByColName(std::string colName)
const override;
Structure describing a single-crystal peak.
Structure describing a single-crystal peak.
Structure describing a single-crystal peak.
Geometry::IDetector_const_sptr m_det
Detector pointed to.
int m_row
Cached row in the detector.
Peak(Peak &&) noexcept=default
static Mantid::Kernel::Logger g_log
Static logger.
std::set< int > m_detIDs
List of contributing detectors IDs.
std::string m_bankName
Name of the parent bank.
Mantid::Kernel::V3D detPos
Cached detector position.
double m_initialEnergy
Initial energy of neutrons at the peak.
Geometry::Instrument_const_sptr m_inst
Shared pointer to the instrument (for calculating some values )
Mantid::Kernel::V3D sourcePos
Cached source position.
int m_col
Cached column in the detector.
Peak(const Peak &other)
Copy constructor.
double m_finalEnergy
Final energy of the neutrons at peak (normally same as m_InitialEnergy)
int m_detectorID
ID of the detector.
Structure describing a single-crystal peak.
This class is responsible for tracking rays and accumulating a list of objects that are intersected a...
The Logger class is in charge of the publishing messages from the framework through various channels.
std::unique_ptr< Peak > Peak_uptr
std::shared_ptr< const Mantid::Geometry::IDetector > IDetector_const_sptr
Shared pointer to IDetector (const version)
std::shared_ptr< const Instrument > Instrument_const_sptr
Shared pointer to an const instrument object.
Helper class which provides the Collimation Length for SANS instruments.