11#include <unordered_map>
14#include "MantidGeometry/DllConfig.h"
51 DetectorInfo(std::unique_ptr<Beamline::DetectorInfo> detectorInfo,
52 std::shared_ptr<const Geometry::Instrument> instrument,
53 std::shared_ptr<
const std::vector<detid_t>> detectorIds,
54 std::shared_ptr<
const std::unordered_map<detid_t, size_t>> detIdToIndexMap);
63 bool isScanning()
const;
65 bool isMonitor(
const size_t index)
const;
66 bool isMonitor(
const std::pair<size_t, size_t> &
index)
const;
67 bool isMasked(
const size_t index)
const;
68 bool isMasked(
const std::pair<size_t, size_t> &
index)
const;
69 bool hasMaskedDetectors()
const;
70 double l2(
const size_t index)
const;
71 double l2(
const std::pair<size_t, size_t> &
index)
const;
73 double twoTheta(
const std::pair<size_t, size_t> &
index)
const;
74 double signedTwoTheta(
const size_t index)
const;
75 double signedTwoTheta(
const std::pair<size_t, size_t> &
index)
const;
76 double azimuthal(
const size_t index)
const;
77 double azimuthal(
const std::pair<size_t, size_t> &
index)
const;
78 std::tuple<double, double, double> diffractometerConstants(
const size_t index, std::vector<detid_t> &calibratedDets,
79 std::vector<detid_t> &uncalibratedDets)
const;
80 double difcUncalibrated(
const size_t index)
const;
88 void setMasked(
const size_t index,
bool masked);
89 void setMasked(
const std::pair<size_t, size_t> &
index,
bool masked);
90 void clearMaskFlags();
105 const std::vector<detid_t> &detectorIDs()
const;
108 size_t indexOf(
const detid_t id)
const;
110 size_t scanCount()
const;
111 const std::vector<std::pair<Types::Core::DateAndTime, Types::Core::DateAndTime>> scanIntervals()
const;
123 std::shared_ptr<const Geometry::IDetector> getDetectorPtr(
const size_t index)
const;
124 void clearPositionDependentParameters(
const size_t index);
const std::vector< double > & rhs
std::map< DeltaEMode::Type, std::string > index
PyObject * geographicalAngles(const SpectrumInfo &spectrumInfo, const size_t index)
Mantid::Kernel::Quat(ComponentInfo::* rotation)(const size_t) const
void(ComponentInfo::* setPosition)(const size_t, const Mantid::Kernel::V3D &)
void(ComponentInfo::* setRotation)(const size_t, const Mantid::Kernel::Quat &)
API::SpectrumInfo is an intermediate step towards a SpectrumInfo that is part of Instrument-2....
DetectorInfoIterator for random access iteration over DetectorInfo.
Geometry::DetectorInfo is an intermediate step towards a DetectorInfo that is part of Instrument-2....
std::shared_ptr< const Geometry::Instrument > m_instrument
std::shared_ptr< const std::unordered_map< detid_t, size_t > > m_detIDToIndex
std::vector< std::shared_ptr< const Geometry::IDetector > > m_lastDetector
std::vector< size_t > m_lastIndex
std::unique_ptr< Beamline::DetectorInfo > m_detectorInfo
Pointer to the actual DetectorInfo object (non-wrapping part).
std::shared_ptr< const std::vector< detid_t > > m_detectorIDs
Interface class for detector objects.
Helper class which provides the Collimation Length for SANS instruments.
int32_t detid_t
Typedef for a detector ID.