9#include "MantidGeometry/DllConfig.h"
18template <
typename T>
class Matrix;
43class MANTID_GEOMETRY_DLL
Acomp {
51 void addComp(
const Acomp &);
52 void addUnitItem(
int const);
53 void processIntersection(
const std::string &);
54 void processUnion(
const std::string &);
57 int copySimilar(
const Acomp &);
59 void addUnit(
const std::vector<int> &,
61 void assignDNF(
const std::vector<int> &,
62 const std::vector<BnId> &);
63 int getDNFobject(std::vector<int> &, std::vector<BnId> &)
const;
64 int getDNFpart(std::vector<Acomp> &)
const;
66 int getCNFobject(std::vector<int> &, std::vector<BnId> &)
const;
67 void assignCNF(
const std::vector<int> &,
68 const std::vector<BnId> &);
73 int makePI(std::vector<BnId> &)
const;
74 int makeEPI(std::vector<BnId> &, std::vector<BnId> &)
const;
88 const Acomp *itemC(
int const)
const;
89 int itemN(
int const)
const;
91 std::pair<int, int> size()
const;
97 int contains(
const Acomp &)
const;
99 int isTrue(
const std::map<int, int> &)
const;
102 void getLiterals(std::map<int, int> &)
const;
103 void getAbsLiterals(std::map<int, int> &)
const;
104 std::vector<int> getKeys()
const;
105 int logicalEqual(
const Acomp &)
const;
111 std::pair<Acomp, Acomp> algDiv(
const Acomp &);
112 void setString(
const std::string &);
113 void writeFull(std::ostream &,
114 int const = 0)
const;
115 std::string display()
const;
116 std::string displayDepth(
int const = 0)
const;
Holds a state point in the decision tree.
std::vector< int > Units
Units in list.
int Intersect
Union/Intersection (0,1)
std::vector< Acomp > Comp
Components in list.
int isInter() const
Deterimine if inter/union.
MatrixWorkspace_sptr MANTID_API_DLL operator+=(const MatrixWorkspace_sptr &lhs, const MatrixWorkspace_sptr &rhs)
Adds two workspaces.
MatrixWorkspace_sptr MANTID_API_DLL operator-=(const MatrixWorkspace_sptr &lhs, const MatrixWorkspace_sptr &rhs)
Subtracts two workspaces.
MatrixWorkspace_sptr MANTID_API_DLL operator*=(const MatrixWorkspace_sptr &lhs, const MatrixWorkspace_sptr &rhs)
Multiply two workspaces.
MANTID_GEOMETRY_DLL std::ostream & operator<<(std::ostream &stream, const PointGroup &self)
Returns a streamed representation of the PointGroup object.
Helper class which provides the Collimation Length for SANS instruments.
constexpr bool operator==(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
constexpr bool operator!=(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
constexpr bool operator>(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)
constexpr bool operator<(const wide_integer< Bits, Signed > &lhs, const wide_integer< Bits2, Signed2 > &rhs)