00001 /** 00002 * \file LowestRefinedPairScore.h 00003 * \brief Score on the lowest scoring pair of the refined pairs. 00004 * 00005 * Copyright 2007-2010 IMP Inventors. All rights reserved. 00006 */ 00007 00008 #ifndef IMPMISC_LOWEST_REFINED_PAIR_SCORE_H 00009 #define IMPMISC_LOWEST_REFINED_PAIR_SCORE_H 00010 00011 #include "misc_config.h" 00012 #include <IMP/PairScore.h> 00013 #include <IMP/UnaryFunction.h> 00014 #include <IMP/Pointer.h> 00015 #include <IMP/Refiner.h> 00016 00017 IMPMISC_BEGIN_NAMESPACE 00018 00019 //! Refine both particles with the refiner and score on the lowest pair. 00020 /** Score on the lowest of the pairs defined by refining the two particles. 00021 */ 00022 class IMPMISCEXPORT LowestRefinedPairScore : public PairScore 00023 { 00024 IMP::internal::OwnerPointer<Refiner> r_; 00025 IMP::internal::OwnerPointer<PairScore> f_; 00026 public: 00027 /** \param[in] r The Refiner to call on each particle 00028 \param[in] f The pair score to apply to the generated pairs 00029 */ 00030 LowestRefinedPairScore(Refiner *r, PairScore *f); 00031 IMP_PAIR_SCORE(LowestRefinedPairScore); 00032 }; 00033 00034 IMPMISC_END_NAMESPACE 00035 00036 #endif /* IMPMISC_LOWEST_REFINED_PAIR_SCORE_H */