9 #ifndef IMPROTAMER_ROTAMER_CALCULATOR_H
10 #define IMPROTAMER_ROTAMER_CALCULATOR_H
20 IMPROTAMER_BEGIN_NAMESPACE
51 unsigned get_size()
const
61 double get_probability(
unsigned index)
const;
64 out <<
"ResidueRotamer"; });
75 xmin = ymin = zmin = std::numeric_limits<double>::max();
76 xmax = ymax = zmax = -std::numeric_limits<double>::max();
83 static bool intersect(
const Box3D &b1,
const Box3D &b2);
85 typedef std::vector<Box3D> Boxes3D;
87 void create_bounding_boxes(Box3D &bb_box, Box3D &sc_box, Boxes3D &rot_boxes);
91 void push_coordinates();
93 void set_coordinates(
unsigned index,
96 friend class RotamerCalculator;
98 typedef std::vector<IMP::algebra::Vector3D> AtomCoordinates;
99 typedef std::vector<AtomCoordinates> ResidueCoordinates;
100 ResidueCoordinates residue_coordinates_;
101 std::vector<double> probabilities_;
140 double K,
int num_iter)
const;
151 return n_angles == 0;
155 std::vector<IMP::atom::AtomType> at_axes;
156 std::vector<char> rot_atoms;
159 IMP::OwnerPointer<const RotamerLibrary> rl_;
160 std::vector<ResidueData> residues_;
163 IMPROTAMER_END_NAMESPACE