00001 #ifndef CCTBX_CRYSTAL_SYMMETRY_H 00002 #define CCTBX_CRYSTAL_SYMMETRY_H 00003 00004 #include <cctbx/sgtbx/space_group_type.h> 00005 00006 namespace cctbx { namespace crystal { 00007 00009 00012 class symmetry 00013 { 00014 public: 00016 symmetry() {} 00017 00019 symmetry( 00020 uctbx::unit_cell const& unit_cell, 00021 sgtbx::space_group const& space_group) 00022 : 00023 unit_cell_(unit_cell), 00024 space_group_(space_group) 00025 { 00026 space_group_.make_tidy(); 00027 } 00028 00030 uctbx::unit_cell const& 00031 unit_cell() const { return unit_cell_; } 00032 00034 sgtbx::space_group const& 00035 space_group() const { return space_group_; } 00036 00038 symmetry 00039 change_basis(sgtbx::change_of_basis_op const& cb_op) const 00040 { 00041 return symmetry( 00042 unit_cell_.change_basis(cb_op), 00043 space_group_.change_basis(cb_op)); 00044 } 00045 00046 protected: 00047 uctbx::unit_cell unit_cell_; 00048 sgtbx::space_group space_group_; 00049 }; 00050 00051 }} // namespace cctbx::crystal 00052 00053 #endif // CCTBX_CRYSTAL_SYMMETRY_H
1.5.6