45#ifndef CLIPPER_HKL_INFO
46#define CLIPPER_HKL_INFO
49#include "hkl_lookup.h"
96 inline const HKL&
hkl_of(
const int& index )
const {
return hkl[index]; }
127 inline const int&
index()
const {
return index_; }
158 { hklinfo = &hklinfo_; index_ = index; }
196 inline const HKL&
hkl()
const {
return hkl_; }
198 inline const int&
sym()
const {
return sym_; }
200 inline const bool&
friedel()
const {
return friedel_; }
208 if ( friedel_ ) equiv = -equiv;
209 index_ = hklinfo->
index_of( equiv );
210 if ( index_ < 0 ) index_ =
216 sym_ = 0; friedel_ =
false;
218 if ( !last() ) hkl_ = hklinfo->
hkl_of( index_ );
Cell object.
Definition cell.h:122
reflection class
Definition coords.h:87
HKL_data_base.
Definition hkl_data.h:137
HKL reference base class.
Definition hkl_info.h:122
const HKL_info & base_hkl_info() const
return the parent HKL_info
Definition hkl_info.h:125
const int & index() const
return the current index (-1 if invalid)
Definition hkl_info.h:127
bool last() const
test if index has gone past last reflection
Definition hkl_info.h:134
ftype invresolsq() const
return the inv resol sq for the reflection (assumes index valid)
Definition hkl_info.h:131
HKL reference with coord-like behaviour.
Definition hkl_info.h:184
HKL_reference_coord & prev_h()
decrement h
Definition hkl_info.h:225
HKL_reference_coord()
Null constructor.
Definition hkl_info.h:187
const int & sym() const
get current symop number
Definition hkl_info.h:198
const bool & friedel() const
get current friedel flag
Definition hkl_info.h:200
const HKL & hkl() const
return the current HKL
Definition hkl_info.h:196
HKL_reference_coord & next_l()
increment l
Definition hkl_info.h:224
HKL_reference_coord & prev_k()
decrement k
Definition hkl_info.h:226
HKL_reference_coord & next()
increment to next reflection
Definition hkl_info.h:215
HKL_reference_coord & next_h()
increment h
Definition hkl_info.h:222
HKL_reference_coord & operator=(const HKL &hkl__)
operator assign from HKL
Definition hkl_info.h:229
HKL_reference_coord & next_k()
increment k
Definition hkl_info.h:223
HKL_reference_coord & set_hkl(const HKL &hkl__)
assign from HKL
Definition hkl_info.h:205
HKL_reference_coord(const HKL_info &hklinfo_, const HKL &hkl)
Constructor: takes parent HKL_info and initial HKL.
Definition hkl_info.h:189
HKL_reference_coord & prev_l()
decrement l
Definition hkl_info.h:227
HKL reference with index-like behaviour.
Definition hkl_info.h:152
HKL_reference_index(const HKL_info &hklinfo_, const int &index)
Constructor: takes parent HKL_info and initial index.
Definition hkl_info.h:157
const HKL & hkl() const
return the current HKL
Definition hkl_info.h:160
const HKL_class & hkl_class() const
return the reflection class for the reflection
Definition hkl_info.h:162
HKL_reference_index()
Null constructor.
Definition hkl_info.h:155
HKL_reference_index & next()
increment to next reflection
Definition hkl_info.h:165
HKL list container and tree root.
Definition hkl_info.h:63
const HKL_class & hkl_class(const int &index) const
get reflection class using lookup
Definition hkl_info.h:110
int num_reflections() const
get number of reflections in the object
Definition hkl_info.h:92
HKL_reference_index first() const
return HKL_reference_index pointing to first reflection
Definition hkl_info.h:243
std::vector< Isymop > isymop
integer symops
Definition hkl_info.h:252
int index_of(const HKL &rfl) const
reflection index from hkl
Definition hkl_info.h:100
const Spacegroup & spacegroup() const
get the spacegroup
Definition hkl_info.h:80
Cell cell_
unit cell
Definition hkl_info.h:249
Range< ftype > invresolsq_range_
resolution limit of the current reflection list
Definition hkl_info.h:264
const Range< ftype > & invresolsq_range() const
get resolution limits of the list
Definition hkl_info.h:107
HKL_info()
null constructor
Definition hkl_info.cpp:74
Resolution resolution_
resolution limit
Definition hkl_info.h:251
std::vector< ftype32 > invresolsq_lookup
fast resolution lookup table
Definition hkl_info.h:259
std::vector< HKL > hkl
the reflection list
Definition hkl_info.h:255
HKL find_sym(const HKL &rfl, int &sym, bool &friedel) const
find symop no and friedel to bring an HKL into ASU
Definition hkl_info.cpp:238
void update_hkl_list()
finalise reflection list
Definition hkl_info.cpp:58
bool is_null() const
test if object has been initialised
Definition hkl_info.cpp:190
void generate_hkl_list()
synthesize hkl list
Definition hkl_info.cpp:195
HKL_sampling hkl_sampling_
hkl sampling
Definition hkl_info.h:250
const HKL_sampling & hkl_sampling() const
[CLIPPER2] get HKL_sampling
Definition hkl_info.h:82
std::vector< HKL_class > hkl_class_lookup
fast epsilon/centricity lookup table
Definition hkl_info.h:257
void add_hkl_list(const std::vector< HKL > &add)
add new reflections to the list
Definition hkl_info.cpp:224
HKL_lookup lookup
fast reflection lookup table
Definition hkl_info.h:262
Spacegroup spacegroup_
spacegroup
Definition hkl_info.h:248
const Resolution & resolution() const
get the resolution
Definition hkl_info.h:84
const Cell & cell() const
get the cell
Definition hkl_info.h:78
void init(const Spacegroup &spacegroup, const Cell &cell, const Resolution &resolution, const bool &generate=false)
initialiser: Takes spacegroup, cell, and resolution
Definition hkl_info.cpp:112
const HKL & hkl_of(const int &index) const
reflection hkl from index
Definition hkl_info.h:96
const ftype32 & invresolsq(const int &index) const
get reflection resolution using lookup
Definition hkl_info.h:104
Fast reflection lookup object.
Definition hkl_lookup.h:59
int index_of(const HKL &rfl) const
lookup function
Definition hkl_lookup.cpp:105
HKL sampling of reciprocal space.
Definition coords.h:553
reflection 'Miller' index
Definition coords.h:146
const int & h() const
get h
Definition coords.h:153
HKL transform(const Symop &op) const
return transformed hkl
Definition coords.h:696
const int & k() const
get k
Definition coords.h:154
const int & l() const
get l
Definition coords.h:155
Fatal message (level = 9)
Definition clipper_message.h:129
static void message(const T &message)
pass a message
Definition clipper_message.h:93
Range - upper and lower bounds of some type.
Definition clipper_stats.h:57
Resolution in angstroms.
Definition coords.h:69
Spacegroup object.
Definition spacegroup.h:173
ftype64 ftype
ftype definition for floating point representation
Definition clipper_precision.h:58