00001 /** 00002 * \file DerivativesToRefined.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_TO_REFINED_H 00009 #define IMPCORE_DERIVATIVES_TO_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 IMPCORE_BEGIN_NAMESPACE 00019 00020 //! Copy the derivatives from the particle to its refined particles. 00021 /** \see DerivatvesFromRefinedSingletonModifier 00022 \see CoverRefined 00023 \see CentroidOfRefinedSingletonModifer 00024 An example showing a how to use such a score state to maintain a cover 00025 of the atoms of a protein by a sphere per residue. 00026 \htmlinclude cover_particles.py.html 00027 */ 00028 class IMPCOREEXPORT DerivativesToRefined: 00029 public SingletonModifier 00030 { 00031 IMP::internal::OwnerPointer<Refiner> refiner_; 00032 FloatKeys ks_; 00033 public: 00034 //! Copy ks to the particles returned by r. 00035 DerivativesToRefined(Refiner *r, 00036 FloatKeys ks 00037 = XYZ::get_xyz_keys()); 00038 00039 IMP_SINGLETON_MODIFIER_DA(DerivativesToRefined); 00040 }; 00041 00042 IMPCORE_END_NAMESPACE 00043 00044 #endif /* IMPCORE_DERIVATIVES_TO_REFINED_H */