CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::ScelCanonicalGenerator< _ElementType > Class Template Reference

#include <ScelOrbitGeneration.hh>

Detailed Description

template<typename _ElementType>
class CASM::ScelCanonicalGenerator< _ElementType >

Functor to find the canonical generating element for an orbit in a Supercell.

  • Uses Supercell permute group and crystallography_tol

Definition at line 27 of file ScelOrbitGeneration.hh.

Public Types

typedef _ElementType Element
 
typedef ScelPeriodicSymCompare< ElementSymCompareType
 
typedef Orbit< SymCompareTypeOrbitType
 

Public Member Functions

 ScelCanonicalGenerator (const Supercell &_scel)
 
const Supercellsupercell () const
 
const SymCompareTypesym_compare () const
 
Element operator() (const Element &e) const
 Applies symmetry to return an equivalent Element in a canonical form. More...
 
template<typename PermuteIteratorIt >
Element operator() (const Element &e, PermuteIteratorIt begin, PermuteIteratorIt end) const
 Applies symmetry to return an equivalent Element in a canonical form. More...
 
PermuteIterator to_canonical () const
 After using call operator, this can be checked. More...
 
PermuteIterator from_canonical () const
 After using call operator, this can be checked. More...
 

Private Attributes

const Supercellm_scel
 
SymCompareType m_sym_compare
 
PermuteIterator m_to_canonical
 

Member Typedef Documentation

◆ Element

template<typename _ElementType >
typedef _ElementType CASM::ScelCanonicalGenerator< _ElementType >::Element

Definition at line 29 of file ScelOrbitGeneration.hh.

◆ OrbitType

template<typename _ElementType >
typedef Orbit<SymCompareType> CASM::ScelCanonicalGenerator< _ElementType >::OrbitType

Definition at line 31 of file ScelOrbitGeneration.hh.

◆ SymCompareType

template<typename _ElementType >
typedef ScelPeriodicSymCompare<Element> CASM::ScelCanonicalGenerator< _ElementType >::SymCompareType

Definition at line 30 of file ScelOrbitGeneration.hh.

Constructor & Destructor Documentation

◆ ScelCanonicalGenerator()

template<typename _ElementType >
CASM::ScelCanonicalGenerator< _ElementType >::ScelCanonicalGenerator ( const Supercell _scel)

Definition at line 12 of file ScelOrbitGeneration_impl.hh.

Member Function Documentation

◆ from_canonical()

template<typename _ElementType >
PermuteIterator CASM::ScelCanonicalGenerator< _ElementType >::from_canonical

After using call operator, this can be checked.

Definition at line 83 of file ScelOrbitGeneration_impl.hh.

◆ operator()() [1/2]

template<typename _ElementType >
ScelCanonicalGenerator< _ElementType >::Element CASM::ScelCanonicalGenerator< _ElementType >::operator() ( const Element e) const

Applies symmetry to return an equivalent Element in a canonical form.

Definition at line 35 of file ScelOrbitGeneration_impl.hh.

◆ operator()() [2/2]

template<typename _ElementType >
template<typename PermuteIteratorIt >
ScelCanonicalGenerator< _ElementType >::Element CASM::ScelCanonicalGenerator< _ElementType >::operator() ( const Element e,
PermuteIteratorIt  begin,
PermuteIteratorIt  end 
) const

Applies symmetry to return an equivalent Element in a canonical form.

  • For use with a container of PermuteIterator
  • Use [begin, end) to canonicalize

Definition at line 58 of file ScelOrbitGeneration_impl.hh.

◆ supercell()

template<typename _ElementType >
const Supercell & CASM::ScelCanonicalGenerator< _ElementType >::supercell

Definition at line 19 of file ScelOrbitGeneration_impl.hh.

◆ sym_compare()

template<typename _ElementType >
const ScelCanonicalGenerator< _ElementType >::SymCompareType & CASM::ScelCanonicalGenerator< _ElementType >::sym_compare

Definition at line 25 of file ScelOrbitGeneration_impl.hh.

◆ to_canonical()

template<typename _ElementType >
PermuteIterator CASM::ScelCanonicalGenerator< _ElementType >::to_canonical

After using call operator, this can be checked.

Definition at line 77 of file ScelOrbitGeneration_impl.hh.

Member Data Documentation

◆ m_scel

template<typename _ElementType >
const Supercell* CASM::ScelCanonicalGenerator< _ElementType >::m_scel
private

Definition at line 62 of file ScelOrbitGeneration.hh.

◆ m_sym_compare

template<typename _ElementType >
SymCompareType CASM::ScelCanonicalGenerator< _ElementType >::m_sym_compare
private

Definition at line 63 of file ScelOrbitGeneration.hh.

◆ m_to_canonical

template<typename _ElementType >
PermuteIterator CASM::ScelCanonicalGenerator< _ElementType >::m_to_canonical
mutableprivate

Definition at line 64 of file ScelOrbitGeneration.hh.


The documentation for this class was generated from the following files: