9 #if !defined(RESTRAINT_HPP) 65 #if defined(_DEBUG) // 73 virtual void GetStr(
char* Str) = 0;
126 double GetE(
double RefDist,
double LambdaKf=1.0);
127 AVector GetGrad(
int WhichGroup,
double RefDist,
double LambdaKf=1.0);
140 double GetE(
double RefAngle,
double LambdaKf=1.0);
141 AVector GetGrad(
int WhichGroup,
double RefAngle,
double LambdaKf=1.0);
154 double GetE(
double RefDihe,
double Const);
181 strcpy(Str,
"Fixed Position Restraint");
205 strcpy(Str,
"Bound Position Restraint");
228 strcpy(Str,
"Forcing Position Restraint");
255 strcpy(Str,
"Fixed Distance Restraint");
275 strcpy(Str,
"Bound Distance Restraint");
297 strcpy(Str,
"Forcing Distance Restraint");
320 strcpy(Str,
"Fixed Angle Restraint");
340 strcpy(Str,
"Bound Angle Restraint");
362 strcpy(Str,
"Forcing Angle Restraint");
385 strcpy(Str,
"Fixed Dihedral Restraint");
399 double m_IntervalAngle;
410 strcpy(Str,
"Bound Dihedral Restraint");
434 strcpy(Str,
"Forcing Dihedral Restraint");
void SetRefDist(double Dist)
void SetRefPos(AVector Pos)
void SetGroup(AGroup &Group, int GroupIndex)
void SetStartPos(AVector Pos)
AVector GetGrad(int WhichGroup, double RefDihe, double Const)
AVector gradU(AVector &P1P2P3, AVector &P4P5P6, AVector &dP1, AVector &dP2, AVector &dP3, AVector &dP4, AVector &dP5, AVector &dP6)
virtual void SetRefPos(AVector)
double GetE(double RefAngle, double LambdaKf=1.0)
void SetStartAngle(double Angle)
AVector GetGradient(int WhichGroup)
void SetRefAngle(double Angle)
virtual void SetStopAngle(double)
virtual void SetBound(Bound_t)
double GetDihe(AVector &A, AVector &B, AVector &C, AVector &D)
virtual void SetIntervalAngle(double)
virtual void PrintInfo()=0
double GetE(double RefDist, double LambdaKf=1.0)
double GetE(AVector RefPos, double LambdaKf=1.0)
virtual double GetDiheTarget1()=0
void SetStartDist(double Dist)
virtual void SetStopPos(AVector)
virtual void SetRefAngle(double)
void SetLambdaKf(double LambdaKf)
void SetStopPos(AVector Pos)
virtual double GetDistTarget()=0
virtual void SetStartDist(double)
void SetBound(Bound_t Bound)
AVector GetGradient(int WhichGroup)
virtual double GetEnergy()=0
double GetAngle(AVector &A, AVector &B, AVector &C)
void SetRefAngle(double Angle)
AVector GetGrad(int WhichGroup, double RefAngle, double LambdaKf=1.0)
virtual void SetRefDist(double)
virtual double Get_dU_dLambda()
AVector GetGradient(int WhichGroup)
virtual double GetDiheTarget2()=0
void SetStartAngle(double Angle)
void DistributeForce(int WhichGroup, AVector Force, GlobalMasterFreeEnergy &CFE)
AVector GetGradient(int WhichGroup)
virtual Bool_t TwoTargets()=0
virtual void SetStopDist(double)
AVector GetGradient(int WhichGroup)
virtual AVector GetPosTarget()=0
AVector GetGradient(int WhichGroup)
static double m_LambdaRef
AVector GetGrad(int WhichGroup, AVector RefPos, double LambdaKf=1.0)
AVector GetGradient(int WhichGroup)
virtual void SetStartPos(AVector)
AVector GetGrad(int WhichGroup, double RefDist, double LambdaKf=1.0)
void UpdateCOMs(GlobalMasterFreeEnergy &CFE)
void SetGroups(AGroup &Group1)
void SetStopAngle(double Angle)
AVector GetGradient(int WhichGroup)
AVector GetGradient(int WhichGroup)
void SetLowerAngle(double Angle)
void SetUpperAngle(double Angle)
void SetBound(Bound_t Bound)
void EarlyExit(const char *Str, int AtomID)
AVector GetGradient(int WhichGroup)
double GetIntervalAngle()
void SetLambdaRef(double LambdaRef)
void SetRefDist(double Dist)
double GetE(double RefDihe, double Const)
void SetRefDist(double Dist)
virtual Bool_t IsForcing()
void SetStopAngle(double Angle)
void SetBound(Bound_t Bound)
void SetRefAngle(double Angle)
void SetIntervalAngle(double Angle)
virtual void SetStartAngle(double)
virtual void SetLowerAngle(double)
virtual void SetUpperAngle(double)
virtual void GetStr(char *Str)=0
AVector GetGradient(int WhichGroup)
void SetStopDist(double Dist)
AVector GetGradient(int WhichGroup)
virtual double GetDistance()=0
void SetRefPos(AVector Pos)
virtual double GetAngleTarget()=0
virtual AVector GetGradient(int WhichGroup)=0