9 #ifndef IMPATOM_CHARMM_SEGMENT_TOPOLOGY_H
10 #define IMPATOM_CHARMM_SEGMENT_TOPOLOGY_H
14 #include <IMP/atom/atom_config.h>
18 IMPATOM_BEGIN_NAMESPACE
74 Pointer<const CHARMMParameters> force_field_;
75 WarningContext warn_context_;
76 typedef std::map<const CHARMMResidueTopology *, Hierarchy> ResMap;
78 void map_residue_topology_to_hierarchy(
Hierarchy hierarchy,
79 ResMap &resmap)
const;
82 std::string name =
"CHARMM topology %1%")
83 :
Object(name), force_field_(force_field) {
95 void add_sequence(std::string sequence);
99 for (
unsigned int i = 0; i < get_number_of_segments(); ++i) {
100 get_segment(i)->apply_default_patches(force_field_);
118 void add_atom_types(
Hierarchy hierarchy)
const;
151 void add_coordinates(
Hierarchy hierarchy)
const;
161 void add_missing_atoms(
Hierarchy hierarchy)
const;
171 void setup_hierarchy(
Hierarchy hierarchy)
const;
177 void add_charges(
Hierarchy hierarchy)
const;
214 Particles add_dihedrals(
Hierarchy hierarchy)
const;
226 Particles add_impropers(
Hierarchy hierarchy)
const;
242 IMPATOM_END_NAMESPACE