00001
00002
00003
00004
00005
00006
00007
00008 #ifndef IMPCONTAINER_CONNECTING_PAIR_CONTAINER_H
00009 #define IMPCONTAINER_CONNECTING_PAIR_CONTAINER_H
00010
00011 #include "container_config.h"
00012 #include <IMP/core/internal/MovedSingletonContainer.h>
00013 #include <IMP/core/internal/pair_helpers.h>
00014 #include <IMP/PairContainer.h>
00015 #include <IMP/SingletonContainer.h>
00016 #include <IMP/macros.h>
00017 #include <IMP/OptimizerState.h>
00018 #include <IMP/ScoreState.h>
00019
00020 IMPCORE_BEGIN_NAMESPACE
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040 class IMPCONTAINEREXPORT ConnectingPairContainer:
00041 #if defined(IMP_DOXYGEN) || defined(SWIG)
00042 public PairContainer
00043 #else
00044 public IMP::core::internal::ListLikePairContainer
00045 #endif
00046 {
00047 IMP::internal::OwnerPointer<SingletonContainer> sc_;
00048 IMP::internal::OwnerPointer<core::internal::MovedSingletonContainer> mv_;
00049 ParticlePairsTemp data_;
00050 double error_;
00051 bool mst_;
00052 IMP_ACTIVE_CONTAINER_DECL(ConnectingPairContainer);
00053 void initialize(SingletonContainer *sc);
00054 void fill_list(bool first);
00055 public:
00056
00057
00058
00059 ConnectingPairContainer(SingletonContainer *sc, double error, bool mst);
00060
00061 #if defined(IMP_DOXYGEN) || defined(SWIG)
00062 IMP_PAIR_CONTAINER(ConnectingPairContainer);
00063 #else
00064 IMP_LISTLIKE_PAIR_CONTAINER(ConnectingPairContainer);
00065 #endif
00066 };
00067
00068
00069 IMPCORE_END_NAMESPACE
00070
00071 #endif