CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::OrbitBranchSpecs< _OrbitType > Class Template Reference

#include <ClusterOrbits.hh>

Detailed Description

template<typename _OrbitType>
class CASM::OrbitBranchSpecs< _OrbitType >

Store data used to generate an orbit branch of IntegralCluster.

Definition at line 64 of file ClusterOrbits.hh.

Public Types

typedef std::vector< xtal::UnitCellCoordContainer
 
typedef Container::const_iterator const_iterator
 
typedef _OrbitType OrbitType
 
typedef OrbitType::Element ClusterType
 
typedef OrbitType::SymCompareType SymCompareType
 
typedef Structure PrimType
 
typedef std::function< bool(ClusterType)> Filter
 Filter returns true for allowed ClusterType, false for unallowed. More...
 

Public Member Functions

template<typename SiteIterator >
 OrbitBranchSpecs (const PrimType &_prim, SiteIterator _begin, SiteIterator _end, const SymGroup &_generating_grp, Filter _filter, const SymCompareType &_sym_compare)
 Constructor. More...
 
const PrimTypeprim () const
 
std::pair< const_iterator, const_iteratorcandidate_sites () const
 
const SymGroupgenerating_group () const
 
Filter filter () const
 
const SymCompareTypesym_compare () const
 

Private Attributes

const PrimTypem_prim_ptr
 
Container m_candidate_sites
 
const SymGroupm_generating_grp
 
Filter m_filter
 
SymCompareType m_sym_compare
 

Member Typedef Documentation

◆ ClusterType

template<typename _OrbitType >
typedef OrbitType::Element CASM::OrbitBranchSpecs< _OrbitType >::ClusterType

Definition at line 69 of file ClusterOrbits.hh.

◆ const_iterator

template<typename _OrbitType >
typedef Container::const_iterator CASM::OrbitBranchSpecs< _OrbitType >::const_iterator

Definition at line 67 of file ClusterOrbits.hh.

◆ Container

template<typename _OrbitType >
typedef std::vector<xtal::UnitCellCoord> CASM::OrbitBranchSpecs< _OrbitType >::Container

Definition at line 66 of file ClusterOrbits.hh.

◆ Filter

template<typename _OrbitType >
typedef std::function<bool(ClusterType)> CASM::OrbitBranchSpecs< _OrbitType >::Filter

Filter returns true for allowed ClusterType, false for unallowed.

Definition at line 74 of file ClusterOrbits.hh.

◆ OrbitType

template<typename _OrbitType >
typedef _OrbitType CASM::OrbitBranchSpecs< _OrbitType >::OrbitType

Definition at line 68 of file ClusterOrbits.hh.

◆ PrimType

template<typename _OrbitType >
typedef Structure CASM::OrbitBranchSpecs< _OrbitType >::PrimType

Definition at line 71 of file ClusterOrbits.hh.

◆ SymCompareType

template<typename _OrbitType >
typedef OrbitType::SymCompareType CASM::OrbitBranchSpecs< _OrbitType >::SymCompareType

Definition at line 70 of file ClusterOrbits.hh.

Constructor & Destructor Documentation

◆ OrbitBranchSpecs()

template<typename _OrbitType >
template<typename SiteIterator >
CASM::OrbitBranchSpecs< _OrbitType >::OrbitBranchSpecs ( const PrimType _prim,
SiteIterator  _begin,
SiteIterator  _end,
const SymGroup _generating_grp,
Filter  _filter,
const SymCompareType _sym_compare 
)
inline

Constructor.

Parameters
_primA pointer to const _prim is stored in each cluster
_begin,_endIterators over candidate sites that should be considered when determining prototype clusters
_generating_grpGroup used by the Orbit constructor
_filterFunction or functor implementing 'bool filter(ClusterType)', which returns false for clusters that should not be used to construct an Orbit (i.e. pair distance too large)
_sym_compareFunctor implementing cluster comparison to facilitate comparison with canonicalization, taking into account symmetry

Definition at line 92 of file ClusterOrbits.hh.

Member Function Documentation

◆ candidate_sites()

template<typename _OrbitType >
std::pair<const_iterator, const_iterator> CASM::OrbitBranchSpecs< _OrbitType >::candidate_sites ( ) const
inline

Definition at line 103 of file ClusterOrbits.hh.

◆ filter()

template<typename _OrbitType >
Filter CASM::OrbitBranchSpecs< _OrbitType >::filter ( ) const
inline

Definition at line 109 of file ClusterOrbits.hh.

◆ generating_group()

template<typename _OrbitType >
const SymGroup& CASM::OrbitBranchSpecs< _OrbitType >::generating_group ( ) const
inline

Definition at line 107 of file ClusterOrbits.hh.

◆ prim()

template<typename _OrbitType >
const PrimType& CASM::OrbitBranchSpecs< _OrbitType >::prim ( ) const
inline

Definition at line 101 of file ClusterOrbits.hh.

◆ sym_compare()

template<typename _OrbitType >
const SymCompareType& CASM::OrbitBranchSpecs< _OrbitType >::sym_compare ( ) const
inline

Definition at line 111 of file ClusterOrbits.hh.

Member Data Documentation

◆ m_candidate_sites

template<typename _OrbitType >
Container CASM::OrbitBranchSpecs< _OrbitType >::m_candidate_sites
private

Definition at line 116 of file ClusterOrbits.hh.

◆ m_filter

template<typename _OrbitType >
Filter CASM::OrbitBranchSpecs< _OrbitType >::m_filter
private

Definition at line 120 of file ClusterOrbits.hh.

◆ m_generating_grp

template<typename _OrbitType >
const SymGroup* CASM::OrbitBranchSpecs< _OrbitType >::m_generating_grp
private

Definition at line 118 of file ClusterOrbits.hh.

◆ m_prim_ptr

template<typename _OrbitType >
const PrimType* CASM::OrbitBranchSpecs< _OrbitType >::m_prim_ptr
private

Definition at line 114 of file ClusterOrbits.hh.

◆ m_sym_compare

template<typename _OrbitType >
SymCompareType CASM::OrbitBranchSpecs< _OrbitType >::m_sym_compare
private

Definition at line 122 of file ClusterOrbits.hh.


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