10#include "MantidCrystal/DllConfig.h"
16using VecV3D = std::vector<Mantid::Kernel::V3D>;
25 static std::string detectorSpaceFrame();
26 static std::string qLabFrame();
27 static std::string qSampleFrame();
28 static std::string hklFrame();
35 void initBaseProperties();
38 void executePeaksIntersection(
const bool checkPeakExtents =
true);
41 double getPeakRadius()
const;
60 double m_peakRadius = 0.0;
Base class from which all concrete algorithm classes should be derived.
PeaksIntersection : Abstract base algorithm class for algorithms that identify peaks interacting with...
virtual VecVecV3D createFaces() const =0
Create all faces.
~PeaksIntersection()=default
virtual void checkTouchPoint(const Mantid::Kernel::V3D &touchPoint, const Mantid::Kernel::V3D &normal, const Mantid::Kernel::V3D &faceVertex) const =0
Verfifies that the normals have been set up correctly such that the touch point falls onto the plane.
virtual bool pointOutsideAnyExtents(const Mantid::Kernel::V3D &testPoint) const =0
Check that a point is outside any of the extents.
virtual void validateExtentsInput() const =0
Validate the input extents.
virtual bool pointInsideAllExtents(const Mantid::Kernel::V3D &testPoints, const Mantid::Kernel::V3D &peakCenter) const =0
Check that a point is inside ALL of the extents.
virtual int numberOfFaces() const =0
Number of surface faces that make up this object.
std::vector< VecV3D > VecVecV3D
std::vector< Mantid::Kernel::V3D > VecV3D
Helper class which provides the Collimation Length for SANS instruments.