1 #ifndef CASM_SimpleStrucMapCalculator
2 #define CASM_SimpleStrucMapCalculator
15 class StrucMapCalculatorInterface;
16 class SimpleStrucMapCalculator;
24 SimpleStructure::SpeciesMode::ATOM,
27 species_mode, std::move(allowed_species)) {}
29 template <
typename ExternSymOpVector>
34 SimpleStructure::SpeciesMode::ATOM,
39 species_mode, allowed_species) {}
57 bool const &symmetrize_atomic_cost =
false)
const override;
78 SimpleStructure::SpeciesMode::ATOM,
88 SimpleStructure
const &child_struc)
const;
bool populate_cost_mat(MappingNode &_node, SimpleStructure const &child_struc) const override
virtual StrucMapCalculatorInterface * _quasi_clone(SimpleStructure _parent, SymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode _species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies _allowed_species={}) const override
Make an exact copy of the calculator (including any initialized members)
virtual bool _assign_molecules(MappingNode &_node, SimpleStructure const &child_struc) const
Initializes child_struc.mol_info based on child_struc.atom_info and _node. Default behavior simply co...
virtual StrucMapCalculatorInterface * _clone() const override
Make an exact copy of the calculator (including any initialized members)
virtual ~SimpleStrucMapCalculator()
void populate_displacement(MappingNode &_node, SimpleStructure const &child_struc) const
void finalize(MappingNode &_node, SimpleStructure const &child_struc, bool const &symmetrize_atomic_cost=false) const override
Calculates final mapping score and sets _node.is_valid.
SimpleStrucMapCalculator(SimpleStructure _parent, ExternSymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies allowed_species={})
std::vector< Eigen::Vector3d > translations(MappingNode const &_node, SimpleStructure const &child_struc) const override
construct list of prospective mapping translations
virtual SimpleStructure resolve_setting(MappingNode const &_node, SimpleStructure const &_child_struc) const override
Creates copy of _child_struc by applying isometry, lattice transformation, translation,...
SimpleStrucMapCalculator(SimpleStructure _parent, SymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies allowed_species={})
Representation of a crystal of molecular and/or atomic occupants, and any additional properties....
StrucMapCalculatorInterface(SimpleStructure _parent, SymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode _species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies allowed_species={})
StrucMapping::AllowedSpecies const & _allowed_species() const
std::vector< std::vector< std::string > > AllowedSpecies
std::vector< SymOp > SymOpVector