CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <VectorSymCompare.hh>
CRTP Base class for Vector comparisons.
Implements:
Does not implement
traits<Element> requires:
The VectorSymCompare hierarchy:
Definition at line 82 of file VectorSymCompare.hh.
Public Types | |
using | Base = _Base |
Element refers to Vector, not element of Vector. More... | |
using | MostDerived = typename Base::MostDerived |
using | Element = typename traits< MostDerived >::Element |
using | SymApply = typename traits< MostDerived >::SymApply |
Public Member Functions | |
double | tol () const |
Return tolerance. More... | |
Protected Member Functions | |
template<typename... Args> | |
EigenSymCompare (double tol, Args &&... args) | |
Constructor. More... | |
InvariantsType | make_invariants_impl (Element const &obj) const |
Make orbit invariants from one element in the orbit. More... | |
bool | invariants_compare_impl (InvariantsType const &A_invariants, InvariantsType const &B_invariants) const |
Orders 'prepared' elements in the same orbit. More... | |
bool | compare_impl (const Element &A, const Element &B) const |
Compares 'prepared' elements. More... | |
std::unique_ptr< SymOpRepresentation > | canonical_transform_impl (Element const &obj) const |
Returns transformation that takes 'obj' to its prepared (canonical) form. More... | |
Element | copy_apply_impl (SymOp const &op, Element obj) const |
Element | spatial_prepare_impl (Element obj) const |
Spatial prepare does not apply – element is returned unchanged. More... | |
SymOp const & | spatial_transform_impl () const |
Spatial prepare does not apply – transform is always identity. More... | |
Protected Attributes | |
friend | _Base |
Private Attributes | |
double | m_tol |
SymApply | m_apply |
SymOp | m_spatial_transform |
using CASM::EigenSymCompare< _Base >::Base = _Base |
Element refers to Vector, not element of Vector.
Definition at line 92 of file VectorSymCompare.hh.
using CASM::EigenSymCompare< _Base >::Element = typename traits<MostDerived>::Element |
Definition at line 94 of file VectorSymCompare.hh.
using CASM::EigenSymCompare< _Base >::MostDerived = typename Base::MostDerived |
Definition at line 93 of file VectorSymCompare.hh.
using CASM::EigenSymCompare< _Base >::SymApply = typename traits<MostDerived>::SymApply |
Definition at line 95 of file VectorSymCompare.hh.
|
inlineprotected |
Constructor.
tol | Tolerance for invariants_compare of site-to-site distances |
Definition at line 110 of file VectorSymCompare.hh.
|
protected |
Returns transformation that takes 'obj' to its prepared (canonical) form.
Definition at line 104 of file VectorSymCompare_impl.hh.
|
protected |
Compares 'prepared' elements.
Definition at line 75 of file VectorSymCompare_impl.hh.
|
inlineprotected |
Definition at line 129 of file VectorSymCompare.hh.
|
protected |
Orders 'prepared' elements in the same orbit.
Definition at line 63 of file VectorSymCompare_impl.hh.
|
protected |
Make orbit invariants from one element in the orbit.
Definition at line 50 of file VectorSymCompare_impl.hh.
|
protected |
Spatial prepare does not apply – element is returned unchanged.
Definition at line 87 of file VectorSymCompare_impl.hh.
|
protected |
Spatial prepare does not apply – transform is always identity.
Spatial prepare does not apply – always identity.
Definition at line 93 of file VectorSymCompare_impl.hh.
double CASM::EigenSymCompare< Base >::tol |
Return tolerance.
Definition at line 43 of file VectorSymCompare_impl.hh.
|
protected |
Definition at line 103 of file VectorSymCompare.hh.
|
private |
Definition at line 142 of file VectorSymCompare.hh.
|
private |
Not applicable to VectorSymCompare – always identity
Definition at line 146 of file VectorSymCompare.hh.
|
private |
Definition at line 140 of file VectorSymCompare.hh.