00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef IMPCORE_NORMAL_MOVER_H
00010 #define IMPCORE_NORMAL_MOVER_H
00011
00012 #include "core_config.h"
00013 #include "MoverBase.h"
00014
00015 IMPCORE_BEGIN_NAMESPACE
00016
00017
00018
00019
00020 class IMPCOREEXPORT NormalMover :public MoverBase
00021 {
00022 public:
00023
00024
00025
00026
00027 NormalMover(SingletonContainer *sc,
00028 const FloatKeys &vars,
00029 Float sigma);
00030 void set_sigma(Float sigma) {
00031 IMP_USAGE_CHECK(sigma > 0, "Sigma must be positive");
00032 stddev_=sigma;
00033 }
00034 Float get_sigma() const {
00035 return stddev_;
00036 }
00037 IMP_OBJECT(NormalMover);
00038 protected:
00039 virtual void generate_move(Float f);
00040 private:
00041 Float stddev_;
00042 };
00043
00044 IMPCORE_END_NAMESPACE
00045
00046 #endif