metal.h

Go to the documentation of this file.
00001 // $Id: metal.h,v 1.1 2005/11/21 19:27:05 anker Exp $
00002 
00003 #ifndef BALL_MOLMEC_SLICK_CHEMSCOREMETAL_H
00004 #define BALL_MOLMEC_SLICK_CHEMSCOREMETAL_H
00005 
00006 #include <BALL/MOLMEC/COMMON/forceFieldComponent.h>
00007 
00008 namespace BALL
00009 {
00010 
00014   class ChemScoreMetal
00015     : public ForceFieldComponent
00016   {
00017 
00018     public:
00019 
00023 
00026     ChemScoreMetal()
00027       ;
00028 
00031     ChemScoreMetal(ForceField& force_field)
00032       ;
00033 
00036     ChemScoreMetal(const ChemScoreMetal& csm)
00037       ;
00038 
00041     virtual ~ChemScoreMetal()
00042       ;
00043 
00045 
00048 
00051     const ChemScoreMetal& operator = (const ChemScoreMetal& csm)
00052       ;
00053 
00056     virtual void clear()
00057       ;
00058 
00060 
00063 
00064     bool operator == (const ChemScoreMetal& csm) const
00065       ;
00066 
00068 
00071 
00074     virtual bool setup()
00075       ;
00076 
00078 
00081 
00084     virtual double updateEnergy()
00085       ;
00086 
00089     virtual void updateForces()
00090       ;
00091 
00093 
00094     private:
00095 
00096     /*_
00097     */
00098     std::vector< std::pair<const Atom*, const Atom*> > possible_metal_interactions_;
00099 
00100     /*_
00101     */
00102     double factor_;
00103 
00104     /*_ 
00105     */
00106     double r1_;
00107 
00108     /*_ 
00109     */
00110     double r2_;
00111 
00112   };
00113 
00114 } // namespace BALL
00115 
00116 #endif // BALL_MOLMEC_SLICK_CHEMSCOREMETAL_H