NAMD
FreeEnergyLambdMgr.h
Go to the documentation of this file.
1 
7 //-----------------------------------------------------------------------------
8 // ALambdaManager contains a (potentially long) list of LambdaControl objects.
9 // written by David Hurwitz, March to May 1998.
10 //-----------------------------------------------------------------------------
11 #if !defined(LAMBDMGR_HPP)
12  #define LAMBDMGR_HPP
13 
14 const int kLambdaNumToStart = 16; // to start, there's room for this num objects.
15 const int kLambdaMultiplier = 4; // each time array size is exceeded,
16  // its size is increased by this many times.
17 
19 private:
20  ALambdaControl* m_pPmfBlocks; // the list of objects
21  int m_NumObjects; // the number of objects in the list
22  int m_MaxNum; // the maximum number of objects allowed in
23  // the list without allocating more memory
24  int m_ActiveIndex; // keep track of which LambdaControl is active
25  ALambdaControl m_Dummy;
26 
27 public:
30  ALambdaControl& operator[] (int index);
31  void Clear();
32  int Add(ALambdaControl& PmfBlock);
33  int GetNumObjects() {return(m_NumObjects);}
34  Bool_t GetLambdas(double& LambdaKf, double& LambdaRef);
41  int GetNumStepsSoFar();
43  void PrintHeader(double dT);
44  void PrintLambdaHeader(double dT);
45  void Print_dU_dLambda_Summary(double Sum_dU_dLambdas);
46  void PrintSomeSpaces();
48  void IncCurrStep() {m_Dummy.IncCurrStep();}
49  int GetTotalNumSteps();
50  void Integrate_MCTI();
51  void Accumulate(double dU_dLambda);
52  double GetAccumulation();
53  double GetIntegration();
54  void ZeroAccumulator();
55  int GetNum_dU_dLambda();
56 };
57 
58 #endif
59 
Bool_t IsTimeToPrint_dU_dLambda()
int Add(ALambdaControl &PmfBlock)
Bool_t IsTimeToClearAccumulator()
void PrintLambdaHeader(double dT)
void Accumulate(double dU_dLambda)
const int kLambdaMultiplier
void PrintHeader(double dT)
void Print_dU_dLambda_Summary(double Sum_dU_dLambdas)
Bool_t
Bool_t GetLambdas(double &LambdaKf, double &LambdaRef)
Bool_t IsEndOf_MCTI_Step()
const int kLambdaNumToStart
double GetAccumulation()
ALambdaControl & operator[](int index)