48 std::shared_ptr<const std::unordered_map<Geometry::IComponent const *, size_t>>
m_compIDToIndex;
51 std::shared_ptr<std::vector<std::shared_ptr<const Geometry::IObject>>>
m_shapes;
54 const bool excludeMonitors =
false)
const;
61 const bool excludeMonitors =
false)
const;
73 ComponentInfo(std::unique_ptr<Beamline::ComponentInfo> componentInfo,
74 std::shared_ptr<
const std::vector<Mantid::Geometry::IComponent *>> componentIds,
75 std::shared_ptr<
const std::unordered_map<Geometry::IComponent const *, size_t>> componentIdToIndexMap,
76 std::shared_ptr<std::vector<std::shared_ptr<const Geometry::IObject>>> shapes);
80 std::unique_ptr<ComponentInfo> cloneWithoutDetectorInfo()
const;
81 std::vector<size_t> detectorsInSubtree(
size_t componentIndex)
const;
82 std::vector<size_t> componentsInSubtree(
size_t componentIndex)
const;
83 const std::vector<size_t> &children(
size_t componentIndex)
const;
85 size_t getMemorySize()
const;
88 size_t indexOfAny(
const std::string &
name)
const;
89 bool uniqueName(
const std::string &
name)
const;
90 bool isDetector(
const size_t componentIndex)
const;
95 Kernel::V3D relativePosition(
const size_t componentIndex)
const;
96 Kernel::Quat relativeRotation(
const size_t componentIndex)
const;
101 void scaleComponent(
const size_t componentIndex,
const Kernel::V3D &newScaling);
102 void scaleComponent(
const std::pair<size_t, size_t> &
index,
const Kernel::V3D &newScaling);
103 size_t parent(
const size_t componentIndex)
const;
104 bool hasParent(
const size_t componentIndex)
const;
105 bool hasDetectorInfo()
const;
108 bool hasSource()
const;
110 bool hasSample()
const;
112 bool hasDetectors(
const size_t componentIndex)
const;
113 size_t source()
const;
114 size_t sample()
const;
116 Kernel::V3D scaleFactor(
const size_t componentIndex)
const;
117 const std::string &
name(
const size_t componentIndex)
const;
118 void setScaleFactor(
const size_t componentIndex,
const Kernel::V3D &scaleFactor);
122 bool hasValidShape(
const size_t componentIndex)
const;
125 std::unordered_map<std::shared_ptr<const Geometry::IObject>, std::vector<size_t>> shapeToComponentIndices()
const;
129 const bool excludeMonitors =
false)
const;
130 Beamline::ComponentType componentType(
const size_t componentIndex)
const;
131 void setScanInterval(
const std::pair<Types::Core::DateAndTime, Types::Core::DateAndTime> &interval);
132 size_t scanCount()
const;
140 size_t findBankParent(
size_t index,
const std::string &bankPart)
const;