CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::clex_SimpleStructureTools_impl::TransformDirective Class Reference

Detailed Description

Class that helps manage which order DoF are applied to a SimpleStructure when building it from a Configuration. Each TransformDirective applies one DoF type or "atomizes" molecules (populating SimpleStructure::atom_info from SimpleStructure::mol_info). It is meant to be stored in a std::set<TransformDirective> and has a comparison operator and uses information from AnisoValTraits to appropriately order TransformDirective in the set. Then they can be applied sequentially (using transform) to build the SimpleStructure.

Definition at line 136 of file SimpleStructureTools.cc.

Public Member Functions

 TransformDirective (std::string const &_name)
 consturct from transformation or DoF type name More...
 
std::string const & name () const
 Name of DoFType or transformation. More...
 
bool operator< (TransformDirective const &_other) const
 Compare with _other TransformDirective. Returns true if this TransformDirective has precedence. More...
 
void transform (ConfigDoF const &_config, xtal::BasicStructure const &_reference, xtal::SimpleStructure &_struc) const
 Applies transformation to _struc using information contained in _config. More...
 

Private Member Functions

void _accumulate_before (std::set< std::string > const &_queue, std::set< std::string > &_result) const
 Build m_before object by recursively traversing DoF dependencies. More...
 
void _accumulate_after (std::set< std::string > const &_queue, std::set< std::string > &_result) const
 Build m_after object by recursively traversing DoF dependencies. More...
 

Private Attributes

std::string m_name
 
std::set< std::string > m_before
 
std::set< std::string > m_after
 
DoFType::Traits const * m_traits_ptr
 

Constructor & Destructor Documentation

◆ TransformDirective()

CASM::clex_SimpleStructureTools_impl::TransformDirective::TransformDirective ( std::string const &  _name)

consturct from transformation or DoF type name

Definition at line 190 of file SimpleStructureTools.cc.

Member Function Documentation

◆ _accumulate_after()

void CASM::clex_SimpleStructureTools_impl::TransformDirective::_accumulate_after ( std::set< std::string > const &  _queue,
std::set< std::string > &  _result 
) const
private

Build m_after object by recursively traversing DoF dependencies.

Definition at line 219 of file SimpleStructureTools.cc.

◆ _accumulate_before()

void CASM::clex_SimpleStructureTools_impl::TransformDirective::_accumulate_before ( std::set< std::string > const &  _queue,
std::set< std::string > &  _result 
) const
private

Build m_before object by recursively traversing DoF dependencies.

Definition at line 210 of file SimpleStructureTools.cc.

◆ name()

std::string const& CASM::clex_SimpleStructureTools_impl::TransformDirective::name ( ) const
inline

Name of DoFType or transformation.

Definition at line 142 of file SimpleStructureTools.cc.

◆ operator<()

bool CASM::clex_SimpleStructureTools_impl::TransformDirective::operator< ( TransformDirective const &  _other) const

Compare with _other TransformDirective. Returns true if this TransformDirective has precedence.

Definition at line 200 of file SimpleStructureTools.cc.

◆ transform()

void CASM::clex_SimpleStructureTools_impl::TransformDirective::transform ( ConfigDoF const &  _config,
xtal::BasicStructure const &  _reference,
xtal::SimpleStructure _struc 
) const

Applies transformation to _struc using information contained in _config.

Definition at line 228 of file SimpleStructureTools.cc.

Member Data Documentation

◆ m_after

std::set<std::string> CASM::clex_SimpleStructureTools_impl::TransformDirective::m_after
private

Definition at line 165 of file SimpleStructureTools.cc.

◆ m_before

std::set<std::string> CASM::clex_SimpleStructureTools_impl::TransformDirective::m_before
private

Definition at line 164 of file SimpleStructureTools.cc.

◆ m_name

std::string CASM::clex_SimpleStructureTools_impl::TransformDirective::m_name
private

Definition at line 163 of file SimpleStructureTools.cc.

◆ m_traits_ptr

DoFType::Traits const* CASM::clex_SimpleStructureTools_impl::TransformDirective::m_traits_ptr
private

Definition at line 167 of file SimpleStructureTools.cc.


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