CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator > Class Template Reference

#include <SubOrbits.hh>

Detailed Description

template<typename GroupOpIterator, typename SubgroupOpIterator>
class CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator >

Output the orbit generators necessary to construct the sub-orbits corresponding to group -> subgroup symmetry breaking.

Definition at line 11 of file SubOrbits.hh.

Public Member Functions

 MakeSubOrbitGenerators (GroupOpIterator group_begin, GroupOpIterator group_end, SubgroupOpIterator subgroup_begin, SubgroupOpIterator subgroup_end)
 
template<typename Element , typename CopyApplyFunctionType , typename PrepareFunctionType , typename InvariantSubgroupOpIterator , typename ElementOutputIterator >
ElementOutputIterator operator() (Element const &element, CopyApplyFunctionType copy_apply_f, PrepareFunctionType prepare_f, InvariantSubgroupOpIterator invariant_subgroup_begin, InvariantSubgroupOpIterator invariant_subgroup_end, ElementOutputIterator result) const
 

Private Attributes

GroupOpIterator const m_group_begin
 
GroupOpIterator const m_group_end
 
SubgroupOpIterator const m_subgroup_begin
 
SubgroupOpIterator const m_subgroup_end
 

Constructor & Destructor Documentation

◆ MakeSubOrbitGenerators()

template<typename GroupOpIterator , typename SubgroupOpIterator >
CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator >::MakeSubOrbitGenerators ( GroupOpIterator  group_begin,
GroupOpIterator  group_end,
SubgroupOpIterator  subgroup_begin,
SubgroupOpIterator  subgroup_end 
)
inline

Definition at line 13 of file SubOrbits.hh.

Member Function Documentation

◆ operator()()

template<typename GroupOpIterator , typename SubgroupOpIterator >
template<typename Element , typename CopyApplyFunctionType , typename PrepareFunctionType , typename InvariantSubgroupOpIterator , typename ElementOutputIterator >
ElementOutputIterator CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator >::operator() ( Element const &  element,
CopyApplyFunctionType  copy_apply_f,
PrepareFunctionType  prepare_f,
InvariantSubgroupOpIterator  invariant_subgroup_begin,
InvariantSubgroupOpIterator  invariant_subgroup_end,
ElementOutputIterator  result 
) const

Output generating elements for the sub-orbits corresponding to group -> subgroup symmetry breaking

Output generating elements for the sub-orbits corresponding to group -> subgroup symmetry breaking

Parameters
elementAn orbit generating element w.r.t. [group_begin, group_end)
invariant_subgroup_begin,invariant_subgroup_endThe subgroup of [group_begin, group_end) that leaves element invariant as determined by "sym_compare"
sym_compareSymCompareType functor for comparing elements and applying symmetry
resultOutput iterator outputs sub-orbit generating elements w.r.t. [subgroup_begin, subgroup_end)

Definition at line 78 of file SubOrbits_impl.hh.

Member Data Documentation

◆ m_group_begin

template<typename GroupOpIterator , typename SubgroupOpIterator >
GroupOpIterator const CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator >::m_group_begin
private

Definition at line 42 of file SubOrbits.hh.

◆ m_group_end

template<typename GroupOpIterator , typename SubgroupOpIterator >
GroupOpIterator const CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator >::m_group_end
private

Definition at line 43 of file SubOrbits.hh.

◆ m_subgroup_begin

template<typename GroupOpIterator , typename SubgroupOpIterator >
SubgroupOpIterator const CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator >::m_subgroup_begin
private

Definition at line 44 of file SubOrbits.hh.

◆ m_subgroup_end

template<typename GroupOpIterator , typename SubgroupOpIterator >
SubgroupOpIterator const CASM::MakeSubOrbitGenerators< GroupOpIterator, SubgroupOpIterator >::m_subgroup_end
private

Definition at line 45 of file SubOrbits.hh.


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