00001 /** 00002 * \file DerivativesFromRefined.h 00003 * \brief Accumulate the derivatives of the refined particles 00004 * 00005 * Copyright 2007-2010 IMP Inventors. All rights reserved. 00006 */ 00007 00008 #ifndef IMPCORE_DERIVATIVES_FROM_REFINED_H 00009 #define IMPCORE_DERIVATIVES_FROM_REFINED_H 00010 00011 #include "core_config.h" 00012 00013 #include "XYZ.h" 00014 #include <IMP/Refiner.h> 00015 #include <IMP/Pointer.h> 00016 #include <IMP/SingletonModifier.h> 00017 00018 00019 IMPCORE_BEGIN_NAMESPACE 00020 00021 //! Accumulate the derivatives of the refined particles. 00022 /** \see DerivativesToRefined 00023 \see CoverRefined 00024 \see CentroidOfRefinedSingletonModifer 00025 An example showing a how to use such a score state to maintain a cover 00026 of the atoms of a protein by a sphere per residue. 00027 \htmlinclude cover_particles.py.html 00028 */ 00029 class IMPCOREEXPORT DerivativesFromRefined: 00030 public SingletonModifier 00031 { 00032 IMP::internal::OwnerPointer<Refiner> refiner_; 00033 FloatKeys ks_; 00034 public: 00035 //! Copy ks from the particles returned by r. 00036 DerivativesFromRefined(Refiner *r, 00037 FloatKeys ks 00038 = XYZ::get_xyz_keys()); 00039 00040 IMP_SINGLETON_MODIFIER_DA(DerivativesFromRefined); 00041 }; 00042 00043 IMPCORE_END_NAMESPACE 00044 00045 #endif /* IMPCORE_DERIVATIVES_FROM_REFINED_H */