11 #ifndef IMPNPCTRANSPORT_FG_CHAIN_H
12 #define IMPNPCTRANSPORT_FG_CHAIN_H
14 #include "npctransport_config.h"
26 IMPNPCTRANSPORT_BEGIN_NAMESPACE
55 double rest_length_factor_;
66 void update_bonds_restraint(
Scoring const* scoring_manager);
83 double backbone_k = 0.0,
84 double rest_length_factor = 1.0,
85 std::string name =
"chain %1%")
88 bonds_restraint_(nullptr),
89 bonds_score_(nullptr),
90 backbone_k_(backbone_k),
91 rest_length_factor_(rest_length_factor)
94 " should be positive");
108 "root must be Hierarchy decorated");
129 {
return get_beads()[i]; }
133 {
return get_beads()[i]->get_index(); }
137 {
return get_beads().size(); }
164 void set_rest_length_factor(
double rlf);
173 void set_backbone_k(
double k);
178 return rest_length_factor_;
224 IMPNPCTRANSPORTEXPORT
228 const ::npctransport_proto::Assignment_FGAssignment &fg_data,
236 IMPNPCTRANSPORTEXPORT
246 IMPNPCTRANSPORTEXPORT
249 IMPNPCTRANSPORT_END_NAMESPACE
Return all pairs from a SingletonContainer.
FGChain * create_fg_chain(IMP::npctransport::SimulationData *sd, atom::Hierarchy parent, const ::npctransport_proto::Assignment_FGAssignment &fg_data, display::Color c)
unsigned int get_number_of_beads() const
get the number of beads in the chain (assume valid root)
FGChain * get_fg_chain(Particle *p_root)
double get_rest_length_factor() const
IMP::Particle * get_bead(unsigned int i) const
get the i'th bead in the chain (assume valid root)
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
FGChain(IMP::Particle *root, double backbone_k=0.0, double rest_length_factor=1.0, std::string name="chain %1%")
IMP::ParticlesTemp get_beads() const
get the beads of the chain (assume valid root)
GenericHierarchies get_leaves(Hierarchy mhd)
Get all the leaves of the bit of hierarchy.
double get_backbone_k() const
get the force constant between consecutive chain beads
Decorator for helping deal with a hierarchy of molecules.
Scoring associated with a SimulationData object.
The standard decorator for manipulating molecular structures.
Common base class for heavy weight IMP objects.
void set_root(atom::Hierarchy root)
A smart pointer to a ref-counted Object that is a class member.
Particle * get_particle() const
Returns the particle decorated by this decorator.
Store all parameters for a simulation.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
void set_root(Particle *p)
A shared base class to help in debugging and things.
Hierarchy get_root(Hierarchy h)
Return the root of the hierarchy.
Class to handle individual particles of a Model object.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
A Score on the distance between a pair of particles.
IMP::ParticleIndex get_bead_index(unsigned int i) const
get the i'th bead index in the chain (assume valid root)
forward declaration of incomplete protobuf files for the main data structures used ...