00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef IMPCONTAINER_TRIPLETS_RESTRAINT_H
00013 #define IMPCONTAINER_TRIPLETS_RESTRAINT_H
00014
00015 #include "container_config.h"
00016
00017 #include <IMP/core/internal/CoreTripletsRestraint.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 TripletsRestraint :
00037 #if defined(SWIG) || defined(IMP_DOXYGEN)
00038 public Restraint
00039 #else
00040 public core::internal::CoreTripletsRestraint
00041 #endif
00042 {
00043 typedef core::internal::CoreTripletsRestraint P;
00044 IMP::internal::OwnerPointer<TripletScore> ss_;
00045 IMP::internal::OwnerPointer<TripletContainer> pc_;
00046 mutable double score_;
00047 public:
00048
00049
00050
00051
00052
00053
00054
00055 TripletsRestraint(TripletScore *ss,
00056 TripletContainer *pc,
00057 std::string name="TripletsRestraint %1%");
00058
00059 #if defined(IMP_DOXYGEN) || defined(SWIG)
00060 IMP_INCREMENTAL_RESTRAINT(TripletsRestraint);
00061
00062
00063 TripletContainer* get_triplet_container() {
00064 return pc_;
00065 }
00066
00067 TripletScore* get_triplet_score() const {
00068 return ss_;
00069 }
00070 #else
00071 IMP_OBJECT(TripletsRestraint);
00072 #endif
00073 };
00074
00075 IMPCONTAINER_END_NAMESPACE
00076
00077 #endif