Mantid
Loading...
Searching...
No Matches
ComponentVisitor.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2017 ISIS Rutherford Appleton Laboratory UKRI,
4// NScD Oak Ridge National Laboratory, European Spallation Source,
5// Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
6// SPDX - License - Identifier: GPL - 3.0 +
7#pragma once
8
9#include <cstddef>
10namespace Mantid {
11namespace Geometry {
12
13class ICompAssembly;
14class IDetector;
15class IComponent;
16class IObjComponent;
17class RectangularDetector;
18class ObjCompAssembly;
19
26public:
27 virtual size_t registerComponentAssembly(const ICompAssembly &assembly) = 0;
28 virtual size_t registerGenericComponent(const IComponent &component) = 0;
29 virtual size_t registerInfiniteComponent(const Mantid::Geometry::IComponent &component) = 0;
30 virtual size_t registerGenericObjComponent(const IObjComponent &objComponent) = 0;
31 virtual size_t registerInfiniteObjComponent(const IObjComponent &component) = 0;
32 virtual size_t registerDetector(const IDetector &detector) = 0;
33 virtual size_t registerGridBank(const ICompAssembly &bank) = 0;
34 virtual size_t registerRectangularBank(const ICompAssembly &bank) = 0;
35 virtual size_t registerStructuredBank(const ICompAssembly &bank) = 0;
37 virtual ~ComponentVisitor() = default;
38};
39} // namespace Geometry
40} // namespace Mantid
double obj
the value of the quadratic function
ComponentVisitor : Visitor for IComponents.
virtual size_t registerInfiniteComponent(const Mantid::Geometry::IComponent &component)=0
virtual size_t registerStructuredBank(const ICompAssembly &bank)=0
virtual size_t registerRectangularBank(const ICompAssembly &bank)=0
virtual size_t registerObjComponentAssembly(const ObjCompAssembly &obj)=0
virtual size_t registerDetector(const IDetector &detector)=0
virtual size_t registerComponentAssembly(const ICompAssembly &assembly)=0
virtual size_t registerGenericObjComponent(const IObjComponent &objComponent)=0
virtual size_t registerGridBank(const ICompAssembly &bank)=0
virtual size_t registerInfiniteObjComponent(const IObjComponent &component)=0
virtual size_t registerGenericComponent(const IComponent &component)=0
Class for Assembly of geometric components.
Definition: ICompAssembly.h:30
base class for Geometric IComponent
Definition: IComponent.h:51
Interface class for detector objects.
Definition: IDetector.h:43
Object Component class, this class brings together the physical attributes of the component to the po...
Definition: IObjComponent.h:37
Class for Assembly of geometric components.
Helper class which provides the Collimation Length for SANS instruments.