9#include "MantidAlgorithms/DllConfig.h"
20class PseudoRandomNumberGenerator;
30using TrackPair = std::tuple<bool, std::shared_ptr<Geometry::Track>, std::shared_ptr<Geometry::Track>>;
Defines a base class for objects describing a volume where interactions of Tracks and Objects can tak...
virtual void setActiveRegion(const Geometry::BoundingBox ®ion)=0
virtual TrackPair calculateBeforeAfterTrack(Kernel::PseudoRandomNumberGenerator &rng, const Kernel::V3D &startPos, const Kernel::V3D &endPos, MCInteractionStatistics &stats) const =0
virtual ComponentScatterPoint generatePoint(Kernel::PseudoRandomNumberGenerator &rng) const =0
virtual const Geometry::BoundingBox getFullBoundingBox() const =0
virtual void setGaugeVolume(Geometry::IObject_sptr gaugeVolume)=0
virtual ~IMCInteractionVolume()=default
virtual Geometry::IObject_sptr getGaugeVolume() const =0
Stores statistics relating to the tracks generated in MCInteractionVolume for a specific detector.
A simple structure that defines an axis-aligned cuboid shaped bounding box for a geometrical object.
Defines a 1D pseudo-random number generator, i.e.
std::tuple< bool, std::shared_ptr< Geometry::Track >, std::shared_ptr< Geometry::Track > > TrackPair
std::shared_ptr< IObject > IObject_sptr
Typdef for a shared pointer.
Helper class which provides the Collimation Length for SANS instruments.