9#include "MantidGeometry/DllConfig.h"
11#include <boost/container/small_vector.hpp>
18template <
typename T>
class Matrix;
43class MANTID_GEOMETRY_DLL
Line {
45 using PType = boost::container::small_vector<Kernel::V3D, 5>;
64 int intersect(PType &,
const Quadratic &)
const;
65 int intersect(PType &,
const Cylinder &)
const;
66 int intersect(PType &,
const Plane &)
const;
67 int intersect(PType &,
const Sphere &)
const;
73 int lambdaPair(
const int ix,
const std::pair<std::complex<double>, std::complex<double>> &SQ,
PType &PntOut)
const;
const std::vector< double > * lambda
Holds a cylinder as a vector form.
const Kernel::V3D & getOrigin() const
returns the origin
Kernel::V3D m_origin
Orign point (on plane)
Kernel::V3D m_direction
Direction of outer surface (Unit Vector)
boost::container::small_vector< Kernel::V3D, 5 > PType
const Kernel::V3D & getDirect() const
returns the direction
Holds a basic quadratic surface.
Holds a Sphere as vector form.
Helper class which provides the Collimation Length for SANS instruments.