BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
microCanonicalMD.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 // $Id: microCanonicalMD.h,v 1.25 2005/12/23 17:01:53 amoll Exp $
5 //
6 
7 #ifndef BALL_MOLMEC_MDSIMULATION_MICROCANONICALMD_H
8 #define BALL_MOLMEC_MDSIMULATION_MICROCANONICALMD_H
9 
10 #ifndef BALL_MOLMEC_MDSIMULATION_MOLECULARDYNAMICS_H
12 #endif
13 
14 namespace BALL
15 {
25  {
26 
27  public:
28 
31  struct AuxFactors
32  {
33  double factor1,factor2;
34  };
35 
39 
41 
42 
45 
49  MicroCanonicalMD(ForceField &myforcefield);
50 
54  MicroCanonicalMD(ForceField &myforcefield, SnapShotManager *ssm);
55 
59  MicroCanonicalMD(ForceField &myforcefield, SnapShotManager *ssm,
60  const Options &myoptions);
61 
63  MicroCanonicalMD(const MicroCanonicalMD& rhs);
64 
66  virtual ~MicroCanonicalMD();
67 
69 
72 
74  MicroCanonicalMD &operator=(const MicroCanonicalMD &rhs);
75 
77 
80 
83  virtual bool setup(ForceField &myforcefield, SnapShotManager *ssm);
84 
87  virtual bool setup(ForceField &myforcefield, SnapShotManager *ssm,
88  const Options &myoptions);
89 
93  virtual bool specificSetup();
94 
96 
99 
102  virtual void setTimeStep(double step);
103 
109  virtual bool simulateIterations(Size number, bool restart = false);
110 
112 
113  protected:
114 
115  /*_ @name Protected methods
116  */
117  //_@{
118 
119  /*_ A protected method for calculating some
120  factors that are needed all the time
121  */
122  void calculateFactors();
123 
124  //_@}
125  /*_ @name Protected Attributes
126  */
127  //_@{
128 
129  /*_ This vector contains special, precomputed factors
130  */
131  vector<AuxFactors> mass_factor_;
132 
133  //_@}
134 
135  }; // end of class MicroCanonicalMD
136  } // end of namespace BALL
137 
138 #endif // BALL_MOLMEC_MDSIMULATION_MICROCANONICALMD_H