34 delete []m_pPmfBlocks;
42 ASSERT((*
this)[m_ActiveIndex].IsActive());
51 ASSERT((*
this)[m_ActiveIndex].IsActive());
52 (*this)[m_ActiveIndex].Integrate_MCTI();
60 ASSERT((*
this)[m_ActiveIndex].IsActive());
61 (*this)[m_ActiveIndex].Accumulate(dU_dLambda);
69 ASSERT((*
this)[m_ActiveIndex].IsActive());
78 ASSERT((*
this)[m_ActiveIndex].IsActive());
87 ASSERT((*
this)[m_ActiveIndex].IsActive());
88 (*this)[m_ActiveIndex].ZeroAccumulator();
97 ASSERT((*
this)[m_ActiveIndex].IsActive());
107 ASSERT((*
this)[m_ActiveIndex].IsActive());
117 ASSERT((*
this)[m_ActiveIndex].IsActive());
127 ASSERT((*
this)[m_ActiveIndex].IsActive());
137 ASSERT((*
this)[m_ActiveIndex].IsActive());
147 ASSERT((*
this)[m_ActiveIndex].IsActive());
156 ASSERT((*
this)[m_ActiveIndex].IsActive());
157 (*this)[m_ActiveIndex].PrintLambdaHeader(dT);
165 ASSERT((*
this)[m_ActiveIndex].IsActive());
166 (*this)[m_ActiveIndex].PrintHeader(dT);
174 ASSERT((*
this)[m_ActiveIndex].IsActive());
183 ASSERT((*
this)[m_ActiveIndex].IsActive());
192 #if !defined(_VERBOSE_PMF)
205 #if defined(_VERBOSE_PMF)
206 iout <<
"FreeEnergy: ";
207 iout <<
"For all forcing restraints, dU/dLambda = ";
208 iout << Sum_dU_dLambdas << std::endl <<
endi;
209 iout <<
"FreeEnergy: ";
210 iout <<
"For all forcing restraints, Free Energy = ";
226 iout <<
"FreeEnergy: ";
227 iout <<
"For MCTI, Free Energy Integral = ";
241 if (m_ActiveIndex == m_NumObjects) {
246 if ( !(*
this)[m_ActiveIndex].IsActive()) {
250 if (m_ActiveIndex == m_NumObjects) {
255 ASSERT( (*
this)[m_ActiveIndex].IsActive() );
259 LambdaKf = (*this)[m_ActiveIndex].GetLambdaKf();
260 LambdaRef = (*this)[m_ActiveIndex].GetLambdaRef();
281 if (m_NumObjects == m_MaxNum) {
286 for (
int i=0; i<m_NumObjects; i++) {
287 pPmfBlocks[i] = m_pPmfBlocks[i];
290 delete []m_pPmfBlocks;
292 m_pPmfBlocks = pPmfBlocks;
295 m_pPmfBlocks[m_NumObjects] = PmfBlock;
297 return(m_NumObjects-1);
305 ASSERT((Index>=0) && (Index<m_NumObjects));
306 return(m_pPmfBlocks[Index]);
318 for (i=0; i<m_NumObjects; i++) {
Bool_t IsTimeToPrint_dU_dLambda()
int Add(ALambdaControl &PmfBlock)
Bool_t IsTimeToClearAccumulator()
void PrintLambdaHeader(double dT)
void Accumulate(double dU_dLambda)
void Print_MCTI_Integration()
std::ostream & endi(std::ostream &s)
const int kLambdaMultiplier
void PrintHeader(double dT)
void Print_dU_dLambda_Summary(double Sum_dU_dLambdas)
Bool_t GetLambdas(double &LambdaKf, double &LambdaRef)
Bool_t IsEndOf_MCTI_Step()
const int kLambdaNumToStart
ALambdaControl & operator[](int index)
int GetNumAccumStepsSoFar()