00001
00002
00003
00004
00005
00006
00007
00008 #ifndef IMP_RESTRAINT_SET_H
00009 #define IMP_RESTRAINT_SET_H
00010
00011 #include "kernel_config.h"
00012
00013 #include "Restraint.h"
00014 #include "Model.h"
00015
00016 #include <string>
00017
00018 IMP_BEGIN_NAMESPACE
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 class IMPEXPORT RestraintSet : public Restraint
00034 {
00035 public:
00036
00037 RestraintSet(double weight,
00038 const std::string& name="RestraintSet %1%");
00039
00040
00041 RestraintSet(const std::string& name="RestraintSet %1%");
00042
00043 IMP_RESTRAINT(RestraintSet);
00044
00045
00046
00047
00048
00049
00050 IMP_LIST(public, Restraint, restraint, Restraint*, Restraints);
00051
00052 public:
00053 void set_weight(Float weight);
00054 Float get_weight() const { return weight_; }
00055 protected:
00056 void set_model(Model *m);
00057 private:
00058 Float weight_;
00059 };
00060
00061 IMP_END_NAMESPACE
00062
00063 #endif