CASM  1.1.0
A Clusters Approach to Statistical Mechanics
HasSupercell.hh
Go to the documentation of this file.
1 #ifndef CASM_HasSupercell
2 #define CASM_HasSupercell
3 
4 #include <memory>
5 
6 namespace CASM {
7 
8 class PrimClex;
9 class Structure;
10 class Supercell;
11 
16 template <typename Base>
17 class HasSupercell : public Base {
18  public:
19  typedef typename Base::MostDerived MostDerived;
20  using Base::derived;
21 
22  const Structure &prim() const;
23 
24  std::shared_ptr<Structure const> const &shared_prim() const;
25 
26  double crystallography_tol() const;
27 
28  bool has_primclex() const;
29 
30  const PrimClex &primclex() const;
31 };
32 
33 } // namespace CASM
34 
35 #endif
Implements PrimClex dependent functions.
Definition: HasSupercell.hh:17
double crystallography_tol() const
std::shared_ptr< Structure const > const & shared_prim() const
Base::MostDerived MostDerived
Definition: HasSupercell.hh:19
const PrimClex & primclex() const
bool has_primclex() const
const Structure & prim() const
PrimClex is the top-level data structure for a CASM project.
Definition: PrimClex.hh:55
Structure specifies the lattice and atomic basis of a crystal.
Definition: Structure.hh:30
Main CASM namespace.
Definition: APICommand.hh:8