97 Supercell const &canon_supercell_of_configuration =
104 return fill_supercell(configuration, canon_supercell_of_configuration)
125 Supercell const &canon_supercell_of_configuration =
132 configuration_db.
insert(prim_config_in_canon_supercell);
136 if (canon_supercell_of_configuration ==
137 prim_config_in_canon_supercell.
supercell()) {
141 if (primitive_only) {
149 configuration_db.
insert(configuration_in_canon_supercell);
Configuration primitive() const
Return the primitive Configuration.
const Supercell & supercell() const
Get the Supercell for this Configuration.
virtual std::pair< iterator, bool > insert(const ValueType &obj)=0
Represents a supercell of the primitive parent crystal structure.
std::shared_ptr< Structure const > const & shared_prim() const
const SupercellSymInfo & sym_info() const
const xtal::Lattice & supercell_lattice() const
const reference to supercell lattice
Configuration in_canonical_supercell(Configuration const &configuration, Database< Supercell > &supercell_db)
Returns the canonical form Configuration in the canonical Supercell.
Supercell const & canonical_supercell(Supercell const &supercell, Database< Supercell > &supercell_db)
ConfigInsertResult make_canonical_and_insert(Configuration const &configuration, Database< Supercell > &supercell_db, Database< Configuration > &configuration_db, bool primitive_only)
Insert this configuration (in primitive & canonical form) in the database.
Configuration fill_supercell(Configuration const &motif, std::shared_ptr< Supercell const > const &shared_supercell)
Holds results of Configuration::insert.
bool insert_canonical
True if canonical configuration did not exist before insertion.
iterator primitive_it
Iterator pointing at primitive.
bool insert_primitive
True if primitive did not exist before insertion.
iterator canonical_it
Iterator pointing at canonical, if existing.