00001 /** 00002 * \file atom/DihedralSingletonScore.h 00003 * \brief A score on a dihedral angle. 00004 * 00005 * Copyright 2007-2010 IMP Inventors. All rights reserved. 00006 */ 00007 00008 #ifndef IMPATOM_DIHEDRAL_SINGLETON_SCORE_H 00009 #define IMPATOM_DIHEDRAL_SINGLETON_SCORE_H 00010 00011 #include "atom_config.h" 00012 #include <IMP/SingletonScore.h> 00013 00014 IMPATOM_BEGIN_NAMESPACE 00015 00016 //! Score the dihedral angle. 00017 /** This scores the dihedral using information stored in its Dihedral 00018 decorator. The form of the score is \f[ 00019 \frac{1}{2} s|s| (1.0 + \cos(\chi m - \chi_i)) 00020 \f] where \f$s\f$ is the stiffness, \f$m\f$ the multiplicity, \f$\chi_i\f$ 00021 the ideal value of the dihedral, and \f$\chi\f$ the actual value. 00022 00023 \note This score matches the CHARMM definition, but may not match 00024 other forcefields. The stiffness can be negative, which corresponds 00025 to CHARMM forcefield entries with negative force constants. 00026 00027 \see CHARMMParameters::generate_dihedrals(), Dihedral. 00028 */ 00029 class IMPATOMEXPORT DihedralSingletonScore : public SingletonScore 00030 { 00031 public: 00032 DihedralSingletonScore(); 00033 IMP_SINGLETON_SCORE(DihedralSingletonScore); 00034 }; 00035 00036 IMPATOM_END_NAMESPACE 00037 00038 #endif /* IMPATOM_DIHEDRAL_SINGLETON_SCORE_H */