CASM  1.1.0
A Clusters Approach to Statistical Mechanics
SymInfo_stream_io.hh
Go to the documentation of this file.
1 #ifndef CASM_symmetry_SymInfo_stream_io
2 #define CASM_symmetry_SymInfo_stream_io
3 
4 #include <iomanip>
5 #include <iostream>
6 #include <string>
7 
10 #include "casm/symmetry/SymInfo.hh"
11 
12 namespace CASM {
13 
14 class SymGroup;
15 struct SymInfo;
16 
19 
20 struct SymInfoOptions {
22  SymInfoOptions(COORD_TYPE _coord_type = FRAC, double _tol = TOL,
23  Index _prec = 7, bool _print_matrix_tau = false)
24  : coord_type(_coord_type),
25  tol(_tol),
26  prec(_prec),
27  print_matrix_tau(_print_matrix_tau) {}
29  double tol;
32 };
33 
35 void print_sym_info(Log &log, const SymInfo &info,
37 
39 std::string to_string(const SymInfo &info,
41 
43 std::string to_brief_unicode(const SymInfo &info,
45 
47 std::string description(const SymOp &op, const xtal::Lattice &lat,
49 
51 void description(Log &log, const SymGroup &g, const xtal::Lattice &lat,
53 
55 std::string brief_description(const SymOp &op, const xtal::Lattice &lat,
57 
59 void brief_description(Log &log, const SymGroup &g, const xtal::Lattice &lat,
61 
62 } // namespace CASM
63 
64 #endif
#define ENUM_TRAITS(ENUM)
Definition: io_traits.hh:213
#define ENUM_IO_DECL(ENUM)
Definition: stream_io.hh:8
Definition: Log.hh:48
SymGroup is a collection of symmetry operations that satisfy the group property The symmetry operatio...
Definition: SymGroup.hh:42
SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian...
Definition: SymOp.hh:28
std::string to_string(ENUM val)
Return string representation of enum class.
Definition: io_traits.hh:172
symmetry_type
Definition: SymInfo.hh:14
Main CASM namespace.
Definition: APICommand.hh:8
std::string to_brief_unicode(const SymInfo &info, SymInfoOptions opt=SymInfoOptions())
Print symmetry symbol to string.
std::string description(const SymOp &op, const xtal::Lattice &lat, SymInfoOptions opt=SymInfoOptions())
Print SymInfo to string.
COORD_TYPE
Definition: enum.hh:6
Log & log()
Definition: Log.hh:424
std::string brief_description(const SymOp &op, const xtal::Lattice &lat, SymInfoOptions opt=SymInfoOptions())
Print SymInfo to brief string.
const COORD_TYPE FRAC
Definition: enum.hh:8
const double TOL
Definition: definitions.hh:30
void print_sym_info(Log &log, const SymInfo &info, SymInfoOptions opt=SymInfoOptions())
Print SymInfo.
INDEX_TYPE Index
For long integer indexing:
Definition: definitions.hh:39
Simple struct to be used as return type for SymOp::info().
Definition: SymInfo.hh:26
Options for printing SymInfo.
SymInfoOptions(COORD_TYPE _coord_type=FRAC, double _tol=TOL, Index _prec=7, bool _print_matrix_tau=false)