15 #ifndef INCLUDED_core_scoring_trie_trie_functions_hh
16 #define INCLUDED_core_scoring_trie_trie_functions_hh
32 #include <utility/vector1.hh>
41 template <
class AT,
class CPDAT >
56 rotamer_descriptors[ ii ].natoms( ii_rotamer->natoms() );
57 Size count_added_atoms = 0;
58 for (
Size jj = 1; jj <= ii_rotamer->nheavyatoms(); ++jj ) {
60 AT newatom( *ii_rotamer, jj );
61 newatom.is_hydrogen(
false );
68 rotamer_descriptors[ ii ].atom( ++count_added_atoms, rdatom );
70 for (
Size kk = ii_rotamer->attached_H_begin( jj ),
71 kk_end = ii_rotamer->attached_H_end( jj );
72 kk <= kk_end; ++kk ) {
74 AT newhatom( *ii_rotamer, kk );
75 newhatom.is_hydrogen(
true );
81 rotamer_descriptors[ ii ].atom( ++count_added_atoms, rdatom );
85 rotamer_descriptors[ ii ].rotamer_id( ii );
88 sort( rotamer_descriptors.begin(), rotamer_descriptors.end() );
100 template <
class AT,
class CPDAT >
113 rotamer_descriptor[ 1 ].natoms( res.
natoms() );
114 Size count_added_atoms = 0;
117 AT newatom( res, jj );
118 newatom.is_hydrogen(
false );
125 rotamer_descriptor[ 1 ].atom( ++count_added_atoms, rdatom );
128 kk <= kk_end; ++kk ) {
130 AT newhatom( res, kk );
131 newhatom.is_hydrogen(
true );
137 rotamer_descriptor[ 1 ].atom( ++count_added_atoms, rdatom );
140 rotamer_descriptor[ 1 ].rotamer_id( 1 );
144 newtrie->set_resid_2_connection_entry( cpdata_map.
resid_for_entry( ii ), ii );
150 template <
class CPDAT >
162 Size const connection_atom(
164 cp_data.set_dist_to_connect_point(