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_ );
HKL_reference_coord & operator=(const HKL &hkl__)
operator assign from HKL
Definition: hkl_info.h:229
const HKL_info & base_hkl_info() const
return the parent HKL_info
Definition: hkl_info.h:125
void add_hkl_list(const std::vector< HKL > &add)
add new reflections to the list
Definition: hkl_info.cpp:222
const ftype32 & invresolsq(const int &index) const
get reflection resolution using lookup
Definition: hkl_info.h:104
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
Fatal message (level = 9)
Definition: clipper_message.h:129
std::vector< ftype32 > invresolsq_lookup
fast resolution lookup table
Definition: hkl_info.h:259
const Range< ftype > & invresolsq_range() const
get resolution limits of the list
Definition: hkl_info.h:107
const HKL & hkl() const
return the current HKL
Definition: hkl_info.h:196
reflection class
Definition: coords.h:86
Spacegroup spacegroup_
spacegroup
Definition: hkl_info.h:248
const int & k() const
get k
Definition: coords.h:154
const HKL & hkl_of(const int &index) const
reflection hkl from index
Definition: hkl_info.h:96
HKL_reference_coord & prev_k()
decrement k
Definition: hkl_info.h:226
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_class & hkl_class(const int &index) const
get reflection class using lookup
Definition: hkl_info.h:110
HKL sampling of reciprocal space.
Definition: coords.h:552
const Spacegroup & spacegroup() const
get the spacegroup
Definition: hkl_info.h:80
const int & sym() const
get current symop number
Definition: hkl_info.h:198
HKL reference with index-like behaviour.
Definition: hkl_info.h:151
Resolution in angstroms.
Definition: coords.h:68
HKL_reference_coord & next_l()
increment l
Definition: hkl_info.h:224
ftype64 ftype
ftype definition for floating point representation
Definition: clipper_precision.h:58
HKL list container and tree root.
Definition: hkl_info.h:62
const Cell & cell() const
get the cell
Definition: hkl_info.h:78
HKL_reference_coord()
Null constructor.
Definition: hkl_info.h:187
const Resolution & resolution() const
get the resolution
Definition: hkl_info.h:84
HKL_sampling hkl_sampling_
hkl sampling
Definition: hkl_info.h:250
Cell object.
Definition: cell.h:121
Spacegroup object.
Definition: spacegroup.h:172
const HKL_class & hkl_class() const
return the reflection class for the reflection
Definition: hkl_info.h:162
int num_reflections() const
get number of reflections in the object
Definition: hkl_info.h:92
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:236
Range< ftype > invresolsq_range_
resolution limit of the current reflection list
Definition: hkl_info.h:264
HKL_reference_coord & next_h()
increment h
Definition: hkl_info.h:222
HKL_reference_index()
Null constructor.
Definition: hkl_info.h:155
std::vector< HKL > hkl
the reflection list
Definition: hkl_info.h:255
bool last() const
test if index has gone past last reflection
Definition: hkl_info.h:134
Fast reflection lookup object.
Definition: hkl_lookup.h:59
bool is_null() const
test if object has been initialised
Definition: hkl_info.cpp:188
std::vector< Isymop > isymop
integer symops
Definition: hkl_info.h:252
HKL_reference_coord & next()
increment to next reflection
Definition: hkl_info.h:215
std::vector< HKL_class > hkl_class_lookup
fast epsilon/centricity lookup table
Definition: hkl_info.h:257
HKL_reference_index first() const
return HKL_reference_index pointing to first reflection
Definition: hkl_info.h:243
const int & h() const
get h
Definition: coords.h:153
Resolution resolution_
resolution limit
Definition: hkl_info.h:251
Cell cell_
unit cell
Definition: hkl_info.h:249
HKL_reference_coord & next_k()
increment k
Definition: hkl_info.h:223
HKL transform(const Symop &op) const
return transformed hkl
Definition: coords.h:696
static void message(const T &message)
pass a message
Definition: clipper_message.h:93
const int & index() const
return the current index (-1 if invalid)
Definition: hkl_info.h:127
HKL reference base class.
Definition: hkl_info.h:121
HKL reference with coord-like behaviour.
Definition: hkl_info.h:183
HKL_reference_coord & prev_l()
decrement l
Definition: hkl_info.h:227
ftype invresolsq() const
return the inv resol sq for the reflection (assumes index valid)
Definition: hkl_info.h:131
HKL_lookup lookup
fast reflection lookup table
Definition: hkl_info.h:262
HKL_reference_index & next()
increment to next reflection
Definition: hkl_info.h:165
HKL_reference_coord & prev_h()
decrement h
Definition: hkl_info.h:225
int index_of(const HKL &rfl) const
lookup function
Definition: hkl_lookup.cpp:105
HKL_reference_coord(const HKL_info &hklinfo_, const HKL &hkl)
Constructor: takes parent HKL_info and initial HKL.
Definition: hkl_info.h:189
void update_hkl_list()
finalise reflection list
Definition: hkl_info.cpp:58
const HKL & hkl() const
return the current HKL
Definition: hkl_info.h:160
HKL_reference_coord & set_hkl(const HKL &hkl__)
assign from HKL
Definition: hkl_info.h:205
const bool & friedel() const
get current friedel flag
Definition: hkl_info.h:200
HKL_info()
null constructor
Definition: hkl_info.cpp:74
void generate_hkl_list()
synthesize hkl list
Definition: hkl_info.cpp:193
int index_of(const HKL &rfl) const
reflection index from hkl
Definition: hkl_info.h:100
HKL_data_base.
Definition: hkl_data.h:136
reflection 'Miller' index
Definition: coords.h:145
const int & l() const
get l
Definition: coords.h:155
const HKL_sampling & hkl_sampling() const
[CLIPPER2] get HKL_sampling
Definition: hkl_info.h:82