/** * \file MinimumSingletonRestraint.h * \brief Score based on the minimum score over a set of Singletons * * This file is generated by a script (core/tools/make-container). * Do not edit directly. * * Copyright 2007-2010 IMP Inventors. All rights reserved. */ #ifndef IMPCONTAINER_MAXIMUM_SINGLETON_RESTRAINT_H #define IMPCONTAINER_MAXIMUM_SINGLETON_RESTRAINT_H #include "container_config.h" #include #include #include IMPCONTAINER_BEGIN_NAMESPACE //! Score based on the maximum singleton over a set of Singletons /** The score is evaluated for each of the Singletons in the container and the value of the maximum n scores is used. That is, if n is 1, the value of the restraint is the value of the maximum score over the container. */ class IMPCONTAINEREXPORT MaximumSingletonRestraint : public Restraint { IMP::internal::OwnerPointer f_; IMP::internal::OwnerPointer c_; unsigned int n_; public: /** n is the number of maximum scores to use. */ MaximumSingletonRestraint(SingletonScore *f, SingletonContainer *c, unsigned int n=1, std::string name ="MaximumSingletonRestraint %1%"); IMP_RESTRAINT(MaximumSingletonRestraint); //! Set the number of lowest scores to use. void set_n(unsigned int n) { n_=n;} }; IMPCONTAINER_END_NAMESPACE #endif /* IMPCONTAINER_MAXIMUM_SINGLETON_RESTRAINT_H */