IMP  2.4.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-2015 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 /**
22  A DOFs sampler that acts on a set of backbone dihedral joints
23  and samples uniformly over each of them
24  */
25 class IMPKINEMATICSEXPORT UniformBackboneSampler : public DOFsSampler {
26  public:
27  /**
28  Construct a uniform backbone sampler over joints, with
29  corresponding dof properties specified in dofs
30 
31  @param joints the dihedral joints over which to sample uniformly
32  @param dofs corresponding list of dofs for each joint in joints
33  respectively, with information about minimal /
34  maximal dof values, etc.
35  */
37 
38  virtual void apply(const DOFValues& values);
39 
40  protected:
41  virtual DOFValues do_get_sample() const;
42 
43  private:
44  // boost::mt19937 rng_; // init random number generator
45  mutable std::vector<boost::uniform_real<> > u_rand_;
47 };
48 
50 
51 IMPKINEMATICS_END_NAMESPACE
52 
53 #endif /* IMPKINEMATICS_UNIFORM_BACKBONE_SAMPLER_H */
Copyright 2007-2014 Sali Lab. All rights reserved.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
Definition: object_macros.h:52
virtual void apply(const DOFValues &values)=0
functionality for defining various revolute kinematic joints between rigid bodies as part of a kinema...