Clipper
|
HKL_data<> More...
#include <hkl_data.h>
Public Member Functions | |
HKL_data () | |
null constructor | |
HKL_data (const HKL_info &hkl_info) | |
constructor: from parent hkl_info More... | |
HKL_data (const HKL_info &hkl_info, const Cell &cell) | |
constructor: from parent hkl_info and cell More... | |
HKL_data (const Spacegroup &spacegroup, const Cell &cell, const HKL_sampling &hkl_sampling) | |
[CLIPPER2] constructor: from spacegroup, cell and hkl_sampling More... | |
HKL_data (const HKL_data_base &hkl_data) | |
[CLIPPER2] constructor: from another HKL_data object More... | |
void | init (const HKL_info &hkl_info, const Cell &cell) |
initialiser: from parent hkl_info and cell More... | |
void | init (const Spacegroup &spacegroup, const Cell &cell, const HKL_sampling &hkl_sampling) |
[CLIPPER2] initialiser: from spacegroup, cell, and HKL_sampling More... | |
void | init (const HKL_data_base &hkl_data) |
[CLIPPER2] initialiser: from another HKL_data object More... | |
void | update () |
update: synchornize info with parent HKL_info More... | |
String | type () const |
get data type (a list of names corresponding to the im/export values) | |
bool | missing (const int &index) const |
check if a data entry in the list is marked as 'missing' | |
void | set_null (const int &index) |
set data entry in the list to its null value | |
int | data_size () const |
return number of data elements in this type | |
String | data_names () const |
return names of data elements in this type | |
void | data_export (const HKL &hkl, xtype array[]) const |
conversion to array (for I/O) | |
void | data_import (const HKL &hkl, const xtype array[]) |
conversion from array (for I/O) | |
void | mask (const HKL_data_base &mask) |
const T & | operator[] (const HKL_info::HKL_reference_index &i) const |
get data by reflection HKL_reference_index | |
T & | operator[] (const HKL_info::HKL_reference_index &i) |
set data by reflection HKL_reference_index | |
T | operator[] (const HKL_info::HKL_reference_coord &ih) const |
get data by HKL_reference_coord More... | |
bool | get_data (const HKL_info::HKL_reference_coord &ih, T &data) const |
get data by HKL_reference_coord (returns false if no equivalent hkl) More... | |
bool | set_data (const HKL_info::HKL_reference_coord &ih, const T &data) |
set data by HKL_reference_coord (returns false if no equivalent hkl) More... | |
const T & | operator[] (const int &index) const |
get data by reflection index | |
T & | operator[] (const int &index) |
set data by reflection index | |
T | operator[] (const HKL &hkl) const |
get data by hkl (returns missing if no equivalent hkl) More... | |
bool | get_data (const HKL &hkl, T &data) const |
get data by hkl (returns false if no equivalent hkl) More... | |
bool | set_data (const HKL &hkl, const T &data) |
set data by hkl (returns false if no equivalent hkl) More... | |
template<class C > | |
void | compute (const C &op) |
Basic computation: fill this data list by function call. | |
template<class S , class C > | |
void | compute (const HKL_data< S > &src, const C &op) |
Unary computation: fill this data list by computation from another. | |
template<class S1 , class S2 , class C > | |
void | compute (const HKL_data< S1 > &src1, const HKL_data< S2 > &src2, const C &op) |
Binary computation: fill this data list by computation from another. | |
const HKL_info & | base_hkl_info () const |
const Cell & | base_cell () const |
const ftype | invresolsq (const int &index) const |
const Range< ftype > | invresolsq_range () const |
const int | num_obs () const |
HKL_reference_index | first () const |
HKL_reference_index | first_data () const |
HKL_reference_index & | next_data (HKL_reference_index &ih) const |
HKL_data< T > & | operator= (const HKL_data< T > &other) |
assignment operator: copies the data from another list More... | |
HKL_data< T > & | operator= (const T &value) |
assignment operator: assigns a single value to the whole list More... | |
void | debug () const |
![]() | |
bool | is_null () const |
test if object has been initialised More... | |
const HKL_info & | base_hkl_info () const |
get the parent HKL_info object | |
const Cell & | base_cell () const |
get the parent cell | |
const Spacegroup & | spacegroup () const |
[CLIPPER2] get spacegroup | |
const Cell & | cell () const |
[CLIPPER2] get cell | |
const Resolution & | resolution () const |
[CLIPPER2] get resolution | |
const HKL_sampling & | hkl_sampling () const |
[CLIPPER2] get HKL_sampling | |
const HKL_info & | hkl_info () const |
[CLIPPER2] get HKL_info object | |
ftype | invresolsq (const int &index) const |
get resolution by reflection index (based on true cell) More... | |
Range< ftype > | invresolsq_range () const |
get resolution limits of the list (based on true cell and missing data) More... | |
int | num_obs () const |
get number of observations in this list (based on missing data) More... | |
HKL_reference_index | first () const |
return HKL_reference_index pointing to first reflection More... | |
HKL_reference_index | first_data () const |
return HKL_reference_index pointing to first non-missing data More... | |
HKL_reference_index & | next_data (HKL_reference_index &ih) const |
increment HKL_reference_index to next non-missing data More... | |
void | debug () const |
Protected Attributes | |
std::vector< T > | list |
![]() | |
const HKL_info * | parent_hkl_info |
const Cell * | parent_cell |
bool | cell_matches_parent |
ObjectCache< HKL_data_cacheobj > ::Reference | cacheref |
object cache ref | |
Spacegroup | spacegroup_ |
Cell | cell_ |
HKL_sampling | hkl_sampling_ |
Resolution | resolution_ |
Additional Inherited Members | |
![]() | |
typedef HKL_info::HKL_reference_index | HKL_reference_index |
Basic HKL_reference_index: see HKL_info. | |
typedef HKL_info::HKL_reference_coord | HKL_reference_coord |
HKL HKL_reference_index: see HKL_info. | |
![]() | |
HKL_data_base () | |
null constructor More... | |
virtual | ~HKL_data_base () |
destructor | |
HKL_data<>
An actual hkl_data object, containing actual data of type T. This implements the generic interface, and in addition provides type-specific access functions.
|
explicit |
constructor: from parent hkl_info
Construct the object using a given reflection list and cell.
hkl_info | The reflection list object. |
clipper::HKL_data< T >::HKL_data | ( | const HKL_info & | hkl_info, |
const Cell & | cell | ||
) |
constructor: from parent hkl_info and cell
Construct the object using a given reflection list and cell.
hkl_info | The reflection list object. |
cell | The unit cell for this datalist. |
clipper::HKL_data< T >::HKL_data | ( | const Spacegroup & | spacegroup, |
const Cell & | cell, | ||
const HKL_sampling & | hkl_sampling | ||
) |
[CLIPPER2] constructor: from spacegroup, cell and hkl_sampling
Construct the object using a given spacegroup, cell, and sampling.
spacegroup | The spacegroup for this datalist. |
cell | The unit cell for this datalist. |
hkl_sampling | The reflection list description. |
|
explicit |
|
virtual |
initialiser: from parent hkl_info and cell
Initialise the object using a given reflection list and cell.
hkl_info | The reflection list object. |
cell | The unit cell for this datalist. |
Reimplemented from clipper::HKL_data_base.
|
virtual |
[CLIPPER2] initialiser: from spacegroup, cell, and HKL_sampling
Initialise the object using a given spacegroup, cell, and sampling.
spacegroup | The spacegroup for this datalist. |
cell | The unit cell for this datalist. |
hkl_sampling | The reflection list description. |
Reimplemented from clipper::HKL_data_base.
|
virtual |
[CLIPPER2] initialiser: from another HKL_data object
Initialise the object using a given HKL_data object. The properties of the object (spacegroup, cell, sampling) are the copied, but the actual data is not.
hkl_data | The HKL_data object to provide the data. |
Reimplemented from clipper::HKL_data_base.
|
virtual |
update: synchornize info with parent HKL_info
The datalist is resized if necessary to match the parent.
Implements clipper::HKL_data_base.
|
virtual |
For each data element, if the corresponding element in mask
is missing, then that element in this list is also set to missing.
mask | The list to provide the mask. |
Implements clipper::HKL_data_base.
T clipper::HKL_data< T >::operator[] | ( | const HKL_info::HKL_reference_coord & | ih | ) | const |
get data by HKL_reference_coord
If a symmetry mate of the requested HKL exists in the list, then the correct symmetry transformations are applied and the data is returned, otherwise the value of 'missing' for the datatype is returned.
ih | The reference to the HKL. |
bool clipper::HKL_data< T >::get_data | ( | const HKL_info::HKL_reference_coord & | ih, |
T & | data | ||
) | const |
get data by HKL_reference_coord (returns false if no equivalent hkl)
If a symmetry mate of the requested HKL exists in the list, then the correct symmetry transformations are applied and the data is returned, otherwise the value of 'missing' for the datatype is returned.
ih | The reference to the HKL. |
data | Returned with the value of the data. |
bool clipper::HKL_data< T >::set_data | ( | const HKL_info::HKL_reference_coord & | ih, |
const T & | data | ||
) |
set data by HKL_reference_coord (returns false if no equivalent hkl)
If a symmetry mate of the requested HKL exists in the list, then the correct symmetry transformations are applied and data is set to the supplied values, otherwise the function returns false.
ih | The reference to the HKL. |
data | Value of the data to set. |
T clipper::HKL_data< T >::operator[] | ( | const HKL & | hkl | ) | const |
get data by hkl (returns missing if no equivalent hkl)
If a symmetry mate of the requested HKL exists in the list, then the correct symmetry transformations are applied and the data is returned, otherwise the value of 'missing' for the datatype is returned.
hkl | The reflection HKL. |
bool clipper::HKL_data< T >::get_data | ( | const HKL & | hkl, |
T & | data | ||
) | const |
get data by hkl (returns false if no equivalent hkl)
If a symmetry mate of the requested HKL exists in the list, then the correct symmetry transformations are applied and the supplied datatype is set, otherwise the function returns false.
hkl | The reflection HKL. |
data | Returned with the value of the data. |
bool clipper::HKL_data< T >::set_data | ( | const HKL & | hkl, |
const T & | data_ | ||
) |
set data by hkl (returns false if no equivalent hkl)
If a symmetry mate of the requested HKL exists in the list, then the correct symmetry transformations are applied and data is set to the supplied values, otherwise the function returns false.
hkl | The reflection HKL. |
data | Value of the data to set. |
HKL_data< T > & clipper::HKL_data< T >::operator= | ( | const HKL_data< T > & | other | ) |
assignment operator: copies the data from another list
The data list is copied from the assignment source to the target. If the target does not have a defined HKL_info, then that and the Cell are copied as well. If however the target does have a defined HKL_info the HKL_info objects are compared, and if they do not match an exception is thrown.
other | The datalist to copy. |
HKL_data< T > & clipper::HKL_data< T >::operator= | ( | const T & | value | ) |
assignment operator: assigns a single value to the whole list
All values, including missing values, are overwritten by the value.
value | The value to which the list is to be set. |