8#include "MantidGeometry/DllConfig.h"
15#pragma warning(disable : 4250)
31 using comp_it = std::vector<ObjComponent *>::iterator;
35 std::string
type()
const override {
return "ObjCompAssembly"; }
50 int nelements()
const override;
56 int addCopy(
IComponent *,
const std::string &)
override;
59 std::shared_ptr<IComponent>
getChild(
const int i)
const override {
return (*
this)[i]; }
62 std::shared_ptr<const IComponent> getComponentByName(
const std::string &cname,
int nlevels = 0)
const override;
64 std::shared_ptr<IComponent> operator[](
int i)
const override;
66 void printChildren(std::ostream &)
const override;
67 void printTree(std::ostream &)
const override;
73 std::shared_ptr<IObject> createOutline();
74 void setOutline(std::shared_ptr<const IObject>
obj);
78 void testIntersectionWithChildren(
Track & ,
79 std::deque<IComponent_const_sptr> & )
const override;
85 void getChildren(std::vector<IComponent_const_sptr> &outVector,
bool recursive)
const override;
double obj
the value of the quadratic function
ComponentVisitor : Visitor for IComponents.
Class for Assembly of geometric components.
base class for Geometric IComponent
Class for Assembly of geometric components.
ObjCompAssembly & operator=(const ICompAssembly &)
Private copy assignment operator.
std::vector< ObjComponent * >::iterator comp_it
Iterator type.
std::vector< ObjComponent * >::const_iterator const_comp_it
Const iterator type.
std::shared_ptr< IComponent > getChild(const int i) const override
Get a pointer to the ith component within the assembly. Easier to use than.
std::vector< ObjComponent * > m_group
the group of child components
std::string type() const override
String description of the type of component.
Object Component class, this class brings together the physical attributes of the component to the po...
Parameter map iterator typedef.
Defines a track as a start point and a direction.
std::shared_ptr< ObjCompAssembly > ObjCompAssembly_sptr
Shared pointer to ObjCompAssembly.
MANTID_GEOMETRY_DLL std::ostream & operator<<(std::ostream &stream, const PointGroup &self)
Returns a streamed representation of the PointGroup object.
std::shared_ptr< const ObjCompAssembly > ObjCompAssembly_const_sptr
Shared pointer to ObjCompAssembly (const version)
Helper class which provides the Collimation Length for SANS instruments.