IMP  2.1.0
The Integrative Modeling Platform
UniformBackboneSampler.h
Go to the documentation of this file.
1 /**
2  \file kinematics/UniformBackboneSampler.h
3  \brief A class for uniform sampling of backbone angles
4 
5  \authors Dina Schneidman, Barak Raveh
6  Copyright 2007-2013 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 
16 IMPKINEMATICS_BEGIN_NAMESPACE
17 
18 //TODO: is it necessarily backbone? could be any dihedrals too?
19 
20 /**
21  A DOFs sampler that acts on a set of backbone dihedral joints
22  and samples uniformaly over each of them
23  */
24 class IMPKINEMATICSEXPORT UniformBackboneSampler : public DOFsSampler {
25  public:
26  /**
27  Construct a uniform backbone sampler over joints, with
28  corresponding dof properties specified in dofs
29 
30  @param joints the dihedral joints over which to sample uniformly
31  @param dofs corresponding list of dofs for each joint in joints
32  respectively, with information about minimal /
33  maximal dof values, etc.
34  */
36 
37  virtual void apply(const DOFValues& values);
38 
39  protected:
40  virtual DOFValues do_get_sample() const;
41 
42  private:
43  // boost::mt19937 rng_; // init random number generator
44  mutable std::vector<boost::uniform_real<> > u_rand_;
46 };
47 
49 
50 IMPKINEMATICS_END_NAMESPACE
51 
52 #endif /* IMPKINEMATICS_UNIFORM_BACKBONE_SAMPLER_H */
Copyright 2007-2010 Sali Lab. All rights reserved.
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing sets of objects.
virtual void apply(const DOFValues &values)=0
functionality for defining various revolute kinematic joints between rigid bodies as part of a kinema...