13#include <boost/unordered_map.hpp>
47 Links getResults()
const;
55 void fireRay(
Track &testRay)
const;
63 mutable boost::unordered_map<IComponent *, BoundingBox>
m_boxCache;
This class is responsible for tracking rays and accumulating a list of objects that are intersected a...
Track m_resultsTrack
Accumulate results in this Track object, aids performance.
Instrument_const_sptr m_instrument
Pointer to the instrument.
boost::unordered_map< IComponent *, BoundingBox > m_boxCache
Map of component id -> bounding box.
InstrumentRayTracer()
Default constructor.
std::mutex m_mutex
Mutex to lock box cache.
Defines a track as a start point and a direction.
boost::container::small_vector< Link, 5 > LType
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.
Track::LType Links
Typedef for object intersections.
Helper class which provides the Collimation Length for SANS instruments.