BALL  1.5.0
MMFF94OutOfPlaneBend.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: MMFF94OutOfPlaneBend.h,v 1.1.8.1 2007/03/25 21:25:17 oliver Exp $
5 //
6 
7 #ifndef BALL_MOLMEC_MMFF94_MMFF94OUTOFPLANEBEND_H
8 #define BALL_MOLMEC_MMFF94_MMFF94OUTOFPLANEBEND_H
9 
10 #ifndef BALL_MOLMEC_COMMON_FORCEFIELDCOMPONENT_H
12 #endif
13 
14 #ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
16 #endif
17 
18 #ifndef BALL_MOLMEC_MMFF94_MMFF94PARAMETERS_H
20 #endif
21 
22 namespace BALL
23 {
28  : public ForceFieldComponent
29  {
30  public:
31 
33  {
34  Atom *i, *j, *k, *l;
35  double k_oop;
36  // debug
37  double energy;
38  };
39 
41  #define MMFF94_OUTOFPLANE_ENABLED "enable OutOfPlane"
42 
43  BALL_CREATE(MMFF94OutOfPlaneBend)
44 
45 
46  MMFF94OutOfPlaneBend();
47 
49  MMFF94OutOfPlaneBend(ForceField& force_field);
50 
52  MMFF94OutOfPlaneBend(const MMFF94OutOfPlaneBend& to_copy);
53 
55  virtual ~MMFF94OutOfPlaneBend();
56 
60  virtual bool setup();
61 
63  virtual double updateEnergy();
64 
66  virtual void updateForces();
67 
69  const vector<OutOfPlaneBend>& getOutOfPlaneBends() const { return bends_;}
70 
71  // Add a double precision TVector3 to a single precision Vector3
72  inline void AddDV3_(Vector3& f3, const TVector3<double> d3);
73 
74  private:
75  vector<OutOfPlaneBend> bends_;
76  MMFF94PlaneParameters parameters_;
77  };
78 
79 } // namespace BALL
80 
81 #endif // BALL_MOLMEC_MMFF94_MMFF94OUTOFPLANEBEND_H
BALL::MMFF94OutOfPlaneBend
Definition: MMFF94OutOfPlaneBend.h:27
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
MMFF94Parameters.h
BALL::MMFF94OutOfPlaneBend::getOutOfPlaneBends
const vector< OutOfPlaneBend > & getOutOfPlaneBends() const
Definition: MMFF94OutOfPlaneBend.h:69
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::energy
double energy
Definition: MMFF94OutOfPlaneBend.h:37
forceField.h
BALL::TVector3< float >
BALL::Atom
Definition: atom.h:87
BALL::MMFF94PlaneParameters
Definition: MMFF94Parameters.h:414
BALL
Definition: constants.h:12
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::l
Atom * l
Definition: MMFF94OutOfPlaneBend.h:34
BALL::Constants::k
const BALL_EXTERN_VARIABLE double k
Definition: constants.h:93
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend::k_oop
double k_oop
Definition: MMFF94OutOfPlaneBend.h:35
BALL::ForceFieldComponent
Definition: forceFieldComponent.h:34
BALL::MMFF94OutOfPlaneBend::OutOfPlaneBend
Definition: MMFF94OutOfPlaneBend.h:32
forceFieldComponent.h
BALL_CREATE
#define BALL_CREATE(name)
Definition: create.h:62