Mantid
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Mantid::Geometry::IDetector Class Referenceabstract

Interface class for detector objects. More...

#include <IDetector.h>

Inheritance diagram for Mantid::Geometry::IDetector:
Mantid::Geometry::IObjComponent Mantid::Geometry::IComponent Mantid::Geometry::Detector Mantid::Geometry::DetectorGroup Mantid::Geometry::GridDetectorPixel

Public Member Functions

virtual IDetectorcloneParameterized (const ParameterMap *map) const =0
 Create a cloned instance with a parameter map applied. More...
 
double getDistance (const IComponent &comp) const override=0
 Get the distance of this detector object from another Component. More...
 
virtual detid_t getID () const =0
 Get the detector ID. More...
 
virtual double getPhi () const =0
 Gives the phi of this detector object in radians. More...
 
virtual double getPhiOffset (const double &offset) const =0
 Gives the phi of this detector offset from y=0 by offset. More...
 
virtual double getSignedTwoTheta (const Kernel::V3D &observer, const Kernel::V3D &axis, const Kernel::V3D &instrumentUp) const =0
 Gives the signed angle of this detector object with respect to an axis. More...
 
virtual det_topology getTopology (Kernel::V3D &center) const =0
 returns the geometry of detectors, meaningful for groups, rectangular for single; returns the centre of a detector More...
 
virtual double getTwoTheta (const Kernel::V3D &observer, const Kernel::V3D &axis) const =0
 Gives the angle of this detector object with respect to an axis. More...
 
 IDetector ()
 (Empty) Constructor. More...
 
virtual size_t index () const =0
 Helper for legacy access mode. Returns the index of the detector. More...
 
virtual std::size_t nDets () const =0
 Get the number of physical detectors this object represents. More...
 
virtual const ParameterMapparameterMap () const =0
 Helper for legacy access mode. Returns a reference to the ParameterMap. More...
 
- Public Member Functions inherited from Mantid::Geometry::IObjComponent
IComponentclone () const override=0
 Virtual Copy Constructor. More...
 
virtual void draw () const =0
 Draws the objcomponent. More...
 
virtual void drawObject () const =0
 Draws the Object. More...
 
virtual int getPointInObject (Kernel::V3D &point) const =0
 Try to find a point that lies within (or on) the object. More...
 
GeometryHandlerHandle () const
 Gets the GeometryHandler. More...
 
virtual void initDraw () const =0
 Initializes the ObjComponent for rendering, this function should be called before rendering. More...
 
virtual int interceptSurface (Track &track) const =0
 Checks whether the track given will pass through this Component. More...
 
 IObjComponent ()
 
 IObjComponent (const IObjComponent &)
 Copy constructor. More...
 
 IObjComponent (GeometryHandler *the_handler)
 Constructor, specifying the GeometryHandler (renderer engine) for this IObjComponent. More...
 
virtual bool isOnSide (const Kernel::V3D &point) const =0
 Does the point given lie on the surface of this object component? More...
 
virtual bool isValid (const Kernel::V3D &point) const =0
 Does the point given lie within this object component? More...
 
virtual const Kernel::Material material () const =0
 Returns the material of the Object. More...
 
IObjComponentoperator= (const IObjComponent &rhs)
 Assignment operator. More...
 
virtual const std::shared_ptr< const IObjectshape () const =0
 Returns the shape of the Object. More...
 
virtual double solidAngle (const Kernel::V3D &observer) const =0
 Finds the approximate solid angle covered by the component when viewed from the point given. More...
 
std::string type () const override
 type string More...
 
 ~IObjComponent () override
 
- Public Member Functions inherited from Mantid::Geometry::IComponent
virtual IComponentclone () const =0
 Return a clone to the current object. More...
 
virtual std::vector< std::shared_ptr< const IComponent > > getAncestors () const =0
 Return an array of all ancestors, the nearest first. More...
 
virtual const IComponentgetBareParent () const =0
 Returns the bare pointer to the IComponent parent. More...
 
virtual IComponent const * getBaseComponent () const =0
 Returns const pointer to base component if this component is parametrized. More...
 
virtual void getBoundingBox (BoundingBox &boundingBox) const =0
 Get the bounding box for this component and store it in the given argument. More...
 
virtual ComponentID getComponentID () const =0
 Returns the ComponentID - a unique identifier of the component. More...
 
virtual double getDistance (const IComponent &) const =0
 Get the distance to another IComponent. More...
 
virtual std::string getFullName () const =0
 Get the IComponent full path name. More...
 
virtual std::string getName () const =0
 Get the IComponent name. More...
 
virtual std::shared_ptr< const IComponentgetParent () const =0
 Return a pointer to the current parent. More...
 
virtual Kernel::V3D getPos () const =0
 Get the position of the IComponent. Tree structure is traverse through the. More...
 
virtual Kernel::V3D getRelativePos () const =0
 Get the position relative to the parent IComponent (absolute if no parent) More...
 
virtual Kernel::Quat getRelativeRot () const =0
 Get the relative Orientation. More...
 
virtual Kernel::Quat getRotation () const =0
 Get the absolute orientation of the IComponent. More...
 
virtual Kernel::V3D getScaleFactor () const
 Gets the scaling factor of the object for the Object Component. More...
 
virtual void rotate (const Kernel::Quat &)=0
 Rotate the IComponent. This is relative to parent. More...
 
virtual void rotate (double, const Kernel::V3D &)=0
 Rotate the IComponent by an angle in degrees with respect to an axis. More...
 
virtual void setName (const std::string &)=0
 Set the IComponent name. More...
 
virtual void setParent (IComponent *)=0
 Assign a parent IComponent. Previous parent link is lost. More...
 
virtual void setPos (const Kernel::V3D &)=0
 Set the position of the component The position is with respect to the parent component. More...
 
virtual void setPos (double, double, double)=0
 Set the IComponent position, x, y, z respective to parent (if present) More...
 
virtual void setRot (const Kernel::Quat &)=0
 Set the orientation Kernel::Quaternion relative to parent (if present) More...
 
virtual void translate (const Kernel::V3D &)=0
 Copy the Rotation from another IComponent. More...
 
virtual void translate (double, double, double)=0
 Translate the IComponent (x,y,z form). This is relative to parent if. More...
 
virtual std::string type () const
 Returns a string representation of the IComponent type. More...
 
virtual ~IComponent ()=default
 Destructor. More...
 
virtual std::set< std::string > getParameterNames (bool recursive=true) const =0
 Return the names of the parameters for this component. More...
 
virtual std::map< std::string, ComponentIDgetParameterNamesByComponent () const =0
 return the parameter names and the component they are from More...
 
virtual bool hasParameter (const std::string &name, bool recursive=true) const =0
 Returns a boolean indicating if the component has the named parameter. More...
 
virtual std::string getParameterType (const std::string &pname, bool recursive=true) const =0
 
virtual std::vector< double > getNumberParameter (const std::string &pname, bool recursive=true) const =0
 Get a parameter defined as a double. More...
 
virtual std::vector< Kernel::V3DgetPositionParameter (const std::string &pname, bool recursive=true) const =0
 Get a parameter defined as a Kernel::V3D. More...
 
virtual std::vector< Kernel::QuatgetRotationParameter (const std::string &pname, bool recursive=true) const =0
 Get a parameter defined as a Kernel::Quaternion. More...
 
virtual std::vector< std::string > getStringParameter (const std::string &pname, bool recursive=true) const =0
 Get a parameter defined as a string. More...
 
virtual std::vector< int > getIntParameter (const std::string &pname, bool recursive=true) const =0
 Get a parameter defined as an integer. More...
 
virtual std::vector< bool > getBoolParameter (const std::string &pname, bool recursive=true) const =0
 Get a parameter defined as a boolean. More...
 
virtual std::string getParameterAsString (const std::string &pname, bool recursive=true) const =0
 get a string representation of a parameter More...
 
virtual bool getParameterVisible (const std::string &pname, bool recursive=true) const =0
 get visibility attribute of a parameter More...
 
virtual void printSelf (std::ostream &) const =0
 Prints a text representation of itself. More...
 
virtual bool isParametrized () const =0
 Returns true if the Component is parametrized (has a parameter map) More...
 
virtual size_t registerContents (class ComponentVisitor &component) const =0
 

Additional Inherited Members

- Protected Member Functions inherited from Mantid::Geometry::IObjComponent
void setGeometryHandler (GeometryHandler *h)
 Reset the current geometry handler. More...
 

Detailed Description

Interface class for detector objects.

Author
Russell Taylor, Tessella Support Services plc
Date
08/04/2008

Definition at line 43 of file IDetector.h.

Constructor & Destructor Documentation

◆ IDetector()

Mantid::Geometry::IDetector::IDetector ( )
inline

(Empty) Constructor.

prevent Warning C4436 and many failing unit tests on MSVC 2015.

Definition at line 96 of file IDetector.h.

Member Function Documentation

◆ cloneParameterized()

virtual IDetector * Mantid::Geometry::IDetector::cloneParameterized ( const ParameterMap map) const
pure virtual

◆ getDistance()

double Mantid::Geometry::IDetector::getDistance ( const IComponent comp) const
overridepure virtual

Get the distance of this detector object from another Component.

Parameters
comp:: The component to give the distance to
Returns
The distance

Implements Mantid::Geometry::IComponent.

Implemented in Mantid::Geometry::Detector, and Mantid::Geometry::DetectorGroup.

Referenced by Mantid::Algorithms::VesuvioL1ThetaResolution::calculateDetector().

◆ getID()

virtual detid_t Mantid::Geometry::IDetector::getID ( ) const
pure virtual

◆ getPhi()

virtual double Mantid::Geometry::IDetector::getPhi ( ) const
pure virtual

◆ getPhiOffset()

virtual double Mantid::Geometry::IDetector::getPhiOffset ( const double &  offset) const
pure virtual

Gives the phi of this detector offset from y=0 by offset.

Implemented in Mantid::Geometry::Detector, and Mantid::Geometry::DetectorGroup.

◆ getSignedTwoTheta()

virtual double Mantid::Geometry::IDetector::getSignedTwoTheta ( const Kernel::V3D observer,
const Kernel::V3D axis,
const Kernel::V3D instrumentUp 
) const
pure virtual

Gives the signed angle of this detector object with respect to an axis.

Parameters
observer:: The point to calculate the angle relative to (typically the sample position)
axis:: The axis to which the required angle is relative
instrumentUp:: Direction corresponding to the instrument up direction. Used to determine signs.
Returns
The angle in radians

Implemented in Mantid::Geometry::Detector, and Mantid::Geometry::DetectorGroup.

Referenced by Mantid::API::MatrixWorkspace::detectorSignedTwoTheta().

◆ getTopology()

virtual det_topology Mantid::Geometry::IDetector::getTopology ( Kernel::V3D center) const
pure virtual

returns the geometry of detectors, meaningful for groups, rectangular for single; returns the centre of a detector

Implemented in Mantid::Geometry::Detector, and Mantid::Geometry::DetectorGroup.

◆ getTwoTheta()

virtual double Mantid::Geometry::IDetector::getTwoTheta ( const Kernel::V3D observer,
const Kernel::V3D axis 
) const
pure virtual

◆ index()

virtual size_t Mantid::Geometry::IDetector::index ( ) const
pure virtual

Helper for legacy access mode. Returns the index of the detector.

Implemented in Mantid::Geometry::Detector, and Mantid::Geometry::DetectorGroup.

◆ nDets()

virtual std::size_t Mantid::Geometry::IDetector::nDets ( ) const
pure virtual

◆ parameterMap()

virtual const ParameterMap & Mantid::Geometry::IDetector::parameterMap ( ) const
pure virtual

Helper for legacy access mode. Returns a reference to the ParameterMap.

Implemented in Mantid::Geometry::Detector, and Mantid::Geometry::DetectorGroup.


The documentation for this class was generated from the following file: