/** * \file SingletonRestraint.h * \brief Apply a SingletonScore to a Singleton. * * This file is generated by a script (core/tools/make-container). * Do not edit directly. * * Copyright 2007-2010 IMP Inventors. All rights reserved. * */ #ifndef IMPCORE_SINGLETON_RESTRAINT_H #define IMPCORE_SINGLETON_RESTRAINT_H #include "core_config.h" #include #include #include #include "internal/singleton_helpers.h" #include IMPCORE_BEGIN_NAMESPACE //! Applies a SingletonScore to a Singleton. /** This restraint stores a Singleton. \see SingletonRestraint */ class IMPCOREEXPORT SingletonRestraint : public SingletonScoreRestraint { IMP::internal::OwnerPointer ss_; Pointer v_; mutable double score_; public: //! Create the restraint. /** This function takes the function to apply to the stored Singleton and the Singleton. */ SingletonRestraint(SingletonScore *ss, Particle* vt, std::string name="SingletonRestraint %1%"); SingletonScore* get_score() const { return ss_; } Particle* get_argument() const { return v_; } IMP_INCREMENTAL_RESTRAINT(SingletonRestraint); }; IMPCORE_END_NAMESPACE #endif /* IMPCORE_SINGLETON_RESTRAINT_H */