#include <pair_tables.h>
Public Member Functions | |
| pair_asu_table () | |
| Default constructor. Some data members are not initialized! | |
| pair_asu_table (boost::shared_ptr< direct_space_asu::asu_mappings< FloatType, IntShiftType > > asu_mappings) | |
| Initialization of an empty table(). | |
| void | reserve (std::size_t n_sites_final) |
| Support for incremental_pairs. Not available from Python. | |
| void | grow (std::size_t number_of_additional_entries) |
| Support for incremental_pairs. Not available from Python. | |
|
boost::shared_ptr < direct_space_asu::asu_mappings < FloatType, IntShiftType > > | asu_mappings () const |
| Instance as passed to the constructor. | |
| pair_asu_table_table const & | table () const |
| Access to raw table. | |
| bool | contains (direct_space_asu::asu_mapping_index_pair const &pair) const |
| True if pair is in table(). | |
| bool | contains (unsigned i_seq, unsigned j_seq, unsigned j_sym) const |
| True if pair characterized by i_seq, j_seq, j_sym is in table(). | |
| bool | operator== (pair_asu_table const &other) const |
| The order of the pair_asu_j_sym_groups is irrelevant. | |
| bool | operator!= (pair_asu_table const &other) const |
| Shorthand for: !operator==. | |
| af::shared< std::size_t > | pair_counts () const |
| Pair count for each site. | |
| af::shared< std::size_t > | cluster_pivot_selection (bool general_positions_only=false, std::size_t max_clusters=0, unsigned estimated_reduction_factor=4) const |
| Returns selection for cluster pivots. | |
| pair_asu_table & | add_all_pairs (FloatType const &distance_cutoff, FloatType const &min_cubicle_edge=5, FloatType const &epsilon=1.e-6) |
| Uses neighbors::fast_pair_generator to add all pairs with distances <= distance_cutoff*(1+epsilon). | |
| pair_asu_table & | add_covalent_pairs (af::const_ref< std::string > const &scattering_types, af::const_ref< std::string > const &exclude_scattering_types=af::const_ref< std::string >(0, 0), FloatType const &distance_cutoff=3.5, FloatType const &min_cubicle_edge=5, FloatType const &tolerance=0.5, FloatType const &epsilon=1.e-6) |
| Uses neighbors::fast_pair_generator to add all pairs with distances <= [sum(covalent radii) + tolerance]. | |
| pair_asu_table & | add_pair_sym_table (pair_sym_table const &sym_table) |
| Adds all pairs defined by sym_table. | |
| pair_asu_table & | add_pair (direct_space_asu::asu_mapping_index_pair const &pair) |
| Adds a pair and all symmetrically equivalent pairs. | |
| pair_asu_table & | add_pair (unsigned i_seq, unsigned j_seq, sgtbx::rt_mx const &rt_mx_ji) |
| Adds the pair defined by i_seq, j_seq and rt_mx_ji. | |
| pair_asu_table & | add_pair (af::tiny< unsigned, 2 > const &i_seqs) |
| Adds the pair defined by i_seq, j_seq assuming rt_mx_ji is the identity matrix. | |
| pair_sym_table | extract_pair_sym_table (bool skip_j_seq_less_than_i_seq=true) const |
| Extracts pair_sym_table of interactions unique under symmetry. | |
| bool | process_pair (unsigned i_seq, unsigned j_seq, sgtbx::rt_mx const &rt_mx_ji) |
| Addition of a pair interaction and all its symmetrically equivalent interactions to table(). | |
| bool | process_pair (unsigned i_seq, unsigned j_seq, sgtbx::rt_mx const &rt_mx_ji, sgtbx::rt_mx const &rt_mx_i, int j_sym) |
| Addition of a pair interaction and all its symmetrically equivalent interactions to table(). | |
| pair_asu_table | angle_pair_asu_table () const |
| Constructs new pair_asu_table with interactions for all bond angles. | |
| af::shared<std::size_t> cluster_pivot_selection | ( | bool | general_positions_only = false, |
|
| std::size_t | max_clusters = 0, |
|||
| unsigned | estimated_reduction_factor = 4 | |||
| ) | const [inline] |
Returns selection for cluster pivots.
The list of sites is assumed to be ordered by significance (e.g. peak height), most significant first.
| pair_asu_table& add_all_pairs | ( | FloatType const & | distance_cutoff, | |
| FloatType const & | min_cubicle_edge = 5, |
|||
| FloatType const & | epsilon = 1.e-6 | |||
| ) | [inline] |
Uses neighbors::fast_pair_generator to add all pairs with distances <= distance_cutoff*(1+epsilon).
All symmetrically equivalent pairs are automatically generated.
References pair_asu_table::add_pair(), simple_pair_generator::at_end(), and fast_pair_generator::next().
| pair_asu_table& add_covalent_pairs | ( | af::const_ref< std::string > const & | scattering_types, | |
| af::const_ref< std::string > const & | exclude_scattering_types = af::const_ref<std::string>(0,0), |
|||
| FloatType const & | distance_cutoff = 3.5, |
|||
| FloatType const & | min_cubicle_edge = 5, |
|||
| FloatType const & | tolerance = 0.5, |
|||
| FloatType const & | epsilon = 1.e-6 | |||
| ) | [inline] |
Uses neighbors::fast_pair_generator to add all pairs with distances <= [sum(covalent radii) + tolerance].
All symmetrically equivalent pairs are automatically generated.
References pair_asu_table::add_pair(), simple_pair_generator::at_end(), asu_mapping_index_pair_and_diff::dist_sq, asu_mapping_index_pair::i_seq, asu_mapping_index_pair::j_seq, and fast_pair_generator::next().
| pair_asu_table& add_pair_sym_table | ( | pair_sym_table const & | sym_table | ) | [inline] |
Adds all pairs defined by sym_table.
All symmetrically equivalent pairs are automatically generated.
References pair_asu_table::add_pair().
| pair_asu_table& add_pair | ( | unsigned | i_seq, | |
| unsigned | j_seq, | |||
| sgtbx::rt_mx const & | rt_mx_ji | |||
| ) | [inline] |
Adds the pair defined by i_seq, j_seq and rt_mx_ji.
rt_mx_ji is the symmetry operation that maps the original site referenced by j_seq to the site interacting with the original site referenced by i_seq.
All symmetrically equivalent pairs are automatically generated.
References CCTBX_ASSERT, rt_mx::inverse_cancel(), and pair_asu_table::process_pair().
| pair_sym_table extract_pair_sym_table | ( | bool | skip_j_seq_less_than_i_seq = true |
) | const [inline] |
Extracts pair_sym_table of interactions unique under symmetry.
The result may be interpreted as an "asymmetric unit of pair interactions."
If skip_j_seq_less_than_i_seq == false the result may contain redundancies. This option is mainly for debugging and development purposes.
References rt_mx::multiply().
| bool process_pair | ( | unsigned | i_seq, | |
| unsigned | j_seq, | |||
| sgtbx::rt_mx const & | rt_mx_ji | |||
| ) | [inline] |
Addition of a pair interaction and all its symmetrically equivalent interactions to table().
This functions calls the other overload to perform the actual work.
Not available in Python.
References rt_mx::multiply().
Referenced by pair_asu_table::add_pair(), and shell_asu_tables_actions::shell_complete().
| bool process_pair | ( | unsigned | i_seq, | |
| unsigned | j_seq, | |||
| sgtbx::rt_mx const & | rt_mx_ji, | |||
| sgtbx::rt_mx const & | rt_mx_i, | |||
| int | j_sym | |||
| ) | [inline] |
Addition of a pair interaction and all its symmetrically equivalent interactions to table().
The site_symmetry of i_seq is used to generate the symmetrically equivalent interactions.
Not available in Python.
References CCTBX_ASSERT, pair_asu_table::contains(), and rt_mx::multiply().
1.5.6