00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef IMPCONTAINER_QUADS_RESTRAINT_H
00013 #define IMPCONTAINER_QUADS_RESTRAINT_H
00014
00015 #include "container_config.h"
00016
00017 #include <IMP/core/internal/CoreQuadsRestraint.h>
00018
00019 #include <iostream>
00020
00021 IMPCONTAINER_BEGIN_NAMESPACE
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 class IMPCONTAINEREXPORT QuadsRestraint :
00037 #if defined(SWIG) || defined(IMP_DOXYGEN)
00038 public Restraint
00039 #else
00040 public core::internal::CoreQuadsRestraint
00041 #endif
00042 {
00043 typedef core::internal::CoreQuadsRestraint P;
00044 IMP::internal::OwnerPointer<QuadScore> ss_;
00045 IMP::internal::OwnerPointer<QuadContainer> pc_;
00046 mutable double score_;
00047 public:
00048
00049
00050
00051
00052
00053
00054
00055 QuadsRestraint(QuadScore *ss,
00056 QuadContainer *pc,
00057 std::string name="QuadsRestraint %1%");
00058
00059 #if defined(IMP_DOXYGEN) || defined(SWIG)
00060 IMP_INCREMENTAL_RESTRAINT(QuadsRestraint);
00061
00062
00063 QuadContainer* get_quad_container() {
00064 return pc_;
00065 }
00066
00067 QuadScore* get_quad_score() const {
00068 return ss_;
00069 }
00070 #else
00071 IMP_OBJECT(QuadsRestraint);
00072 #endif
00073 };
00074
00075 IMPCONTAINER_END_NAMESPACE
00076
00077 #endif