00001
00002
00003
00004
00005
00006
00007 #ifndef IMPDOMINO_DISCRETE_SAMPLER_H
00008 #define IMPDOMINO_DISCRETE_SAMPLER_H
00009
00010 #include "domino_config.h"
00011
00012 #include <IMP/Particle.h>
00013 #include "CombState.h"
00014 #include <vector>
00015 #include "DiscreteSet.h"
00016
00017 IMPDOMINO_BEGIN_NAMESPACE
00018
00019
00020
00021
00022
00023
00024
00025 class DiscreteSampler
00026 {
00027 public:
00028 virtual ~DiscreteSampler(){};
00029
00030 virtual void show(std::ostream& out = std::cout) const {}
00031
00032
00033 virtual void show_space(Particle *p,
00034 std::ostream& out = std::cout) const {}
00035
00036
00037
00038
00039
00040
00041 virtual void populate_states_of_particles(Particles *particles,
00042 Combinations *states) const{}
00043
00044 IMP_NO_SWIG(
00045
00046 virtual DiscreteSet* get_space(Particle *p) const { return NULL; }
00047 )
00048
00049
00050 virtual void move2state(const CombState *cs) {}
00051 };
00052
00053 IMPDOMINO_END_NAMESPACE
00054
00055 #endif