IMP logo
IMP Reference Guide  2.13.0
The Integrative Modeling Platform
UniformBackboneSampler.h
Go to the documentation of this file.
1 /**
2  \file IMP/kinematics/UniformBackboneSampler.h
3  \brief A class for uniform sampling of backbone angles
4 
5  \authors Dina Schneidman, Barak Raveh
6  Copyright 2007-2020 IMP Inventors. All rights reserved.
7  */
8 
9 #ifndef IMPKINEMATICS_UNIFORM_BACKBONE_SAMPLER_H
10 #define IMPKINEMATICS_UNIFORM_BACKBONE_SAMPLER_H
11 
12 #include "kinematics_config.h"
13 #include "DOFsSampler.h"
14 #include "revolute_joints.h"
15 #include <boost/random/uniform_real.hpp>
16 
17 IMPKINEMATICS_BEGIN_NAMESPACE
18 
19 // TODO: is it necessarily backbone? could be any dihedrals too?
20 
21 //! Sample uniformly over a set of backbone dihedral joints
22 class IMPKINEMATICSEXPORT UniformBackboneSampler : public DOFsSampler {
23  public:
24  /**
25  Construct a uniform backbone sampler over joints, with
26  corresponding dof properties specified in dofs
27 
28  @param joints the dihedral joints over which to sample uniformly
29  @param dofs corresponding list of dofs for each joint in joints
30  respectively, with information about minimal /
31  maximal dof values, etc.
32  */
34 
35  virtual void apply(const DOFValues& values);
36 
37  protected:
38  virtual DOFValues do_get_sample() const;
39 
40  private:
41  // boost::mt19937 rng_; // init random number generator
42  mutable std::vector<boost::uniform_real<> > u_rand_;
44 };
45 
47 
48 IMPKINEMATICS_END_NAMESPACE
49 
50 #endif /* IMPKINEMATICS_UNIFORM_BACKBONE_SAMPLER_H */
Copyright 2007-2020 IMP Inventors. All rights reserved.
Sample uniformly over a set of backbone dihedral joints.
Base class for sampling certain combinations of degrees of freedom.
Definition: DOFsSampler.h:17
A class that holds DOF values for DOFs.
Definition: DOFValues.h:20
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers.
Definition: object_macros.h:44
virtual void apply(const DOFValues &values)=0
functionality for defining various revolute kinematic joints between rigid bodies as part of a kinema...