Mantid
Loading...
Searching...
No Matches
ProductOfCyclicGroups.h
Go to the documentation of this file.
1// Mantid Repository : https://github.com/mantidproject/mantid
2//
3// Copyright © 2014 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
10#include "MantidGeometry/DllConfig.h"
11
12namespace Mantid {
13namespace Geometry {
14
48class MANTID_GEOMETRY_DLL ProductOfCyclicGroups : public Group {
49public:
50 ProductOfCyclicGroups(const std::string &generators);
51 ProductOfCyclicGroups(const std::vector<Group_const_sptr> &factorGroups);
52
53protected:
54 Group_const_sptr getGeneratedGroup(const std::string &generators) const;
55 std::vector<Group_const_sptr> getFactorGroups(const std::vector<SymmetryOperation> &symmetryOperations) const;
56 Group_const_sptr getProductOfCyclicGroups(const std::vector<Group_const_sptr> &factorGroups) const;
57};
58
59} // namespace Geometry
60} // namespace Mantid
The class Group represents a set of symmetry operations (or symmetry group).
Definition: Group.h:135
ProductOfCyclicGroups expands a bit on the explanations given in CyclicGroup.
std::shared_ptr< const Group > Group_const_sptr
Definition: Group.h:179
Helper class which provides the Collimation Length for SANS instruments.