17 #ifndef _LOOPTABLEENTRY_H_
18 #define _LOOPTABLEENTRY_H_
21 #include <VectorTransformation.h>
26 namespace Victor {
namespace Lobo {
60 static double getBondLengthTol() {
61 return BOND_LENGTH_TOL;
64 static double getBondAngleTol() {
65 return BOND_ANGLE_TOL;
72 void rotate(
const vgVector3<float>& axis,
const double angle);
73 void rotate(
const vgMatrix3<float>& rotationMatrix);
84 static void setBondLengthTol(
float t) {
88 static void setBondAngleTol(
float t) {
95 const vgVector3<float>&
operator[](
unsigned int n)
const;
98 vgVector3<float> endPoint;
99 vgVector3<float> endDirection;
100 vgVector3<float> endNormal;
101 vgVector3<float> midPoint;
102 vgVector3<float> midDirection;
103 vgVector3<float> midNormal;
113 static float BOND_LENGTH_TOL;
114 static float BOND_ANGLE_TOL;
115 static float BOND_LENGTH_CALPHA_TO_CPRIME;
116 static float BOND_LENGTH_CPRIME_TO_N;
117 static float BOND_ANGLE_AT_CALPHA_TO_CPRIME;
118 static float BOND_ANGLE_AT_CPRIME_TO_N;
119 static float BOND_LENGTH_N_TO_CALPHA;
120 static float BOND_ANGLE_AT_N_TO_CALPHA;
121 static float BOND_LENGTH_CALPHA_TO_CPRIME_SD;
122 static float BOND_LENGTH_CPRIME_TO_N_SD;
123 static float BOND_ANGLE_AT_CALPHA_TO_CPRIME_SD;
124 static float BOND_ANGLE_AT_CPRIME_TO_N_SD;
125 static float BOND_LENGTH_N_TO_CALPHA_SD;
126 static float BOND_ANGLE_AT_N_TO_CALPHA_SD;
127 static float LAMBDA_EP;
128 static float LAMBDA_ED;
129 static float LAMBDA_EN;
145 endNormal(0, 0, 0), midPoint(0, 0, 0), midDirection(0, 0, 0),
149 vgVector3<unsigned short>& operator[](
unsigned int n) {
151 case 0:
return endPoint;
152 case 1:
return endDirection;
153 case 2:
return endNormal;
154 case 3:
return midPoint;
155 case 4:
return midDirection;
156 case 5:
return midNormal;
158 ERROR(
"Invalid entry.", exception);
162 vgVector3<unsigned short> endPoint;
163 vgVector3<unsigned short> endDirection;
164 vgVector3<unsigned short> endNormal;
165 vgVector3<unsigned short> midPoint;
166 vgVector3<unsigned short> midDirection;
167 vgVector3<unsigned short> midNormal;
179 inline double LoopTableEntry::pGetRand() {
181 for (
unsigned int i = 0; i < 12; i++)
182 tmp += static_cast<double> (rand()) / RAND_MAX;
193 return BOND_LENGTH_CALPHA_TO_CPRIME
194 + BOND_LENGTH_TOL * BOND_LENGTH_CALPHA_TO_CPRIME_SD * pGetRand();
203 return BOND_LENGTH_CPRIME_TO_N
204 + BOND_LENGTH_TOL * BOND_LENGTH_CPRIME_TO_N_SD * pGetRand();
214 return BOND_ANGLE_AT_CALPHA_TO_CPRIME
215 + BOND_ANGLE_TOL * BOND_ANGLE_AT_CALPHA_TO_CPRIME_SD * pGetRand();
224 return BOND_ANGLE_AT_CPRIME_TO_N
225 + BOND_ANGLE_TOL * BOND_ANGLE_AT_CPRIME_TO_N_SD * pGetRand();
234 return BOND_LENGTH_N_TO_CALPHA
235 + BOND_LENGTH_TOL * BOND_LENGTH_N_TO_CALPHA_SD * pGetRand();
244 return BOND_ANGLE_AT_N_TO_CALPHA
245 + BOND_ANGLE_TOL * BOND_ANGLE_AT_N_TO_CALPHA_SD * pGetRand();
251 #endif //_LOOPTABLEENTRY_H_
LoopTableEntry setToOrigin(LoopTableEntry &, unsigned int, VectorTransformation &vt)
Definition: LoopTableEntry.cc:269
float getBOND_ANGLE_AT_N_TO_CALPHA()
Definition: LoopTableEntry.h:243
LoopTableEntry concatenate(const LoopTableEntry &, unsigned int)
Definition: LoopTableEntry.cc:194
vgVector3< float > & operator[](unsigned int n)
Definition: LoopTableEntry.cc:393
void printTable(unsigned int k=0) const
Definition: LoopTableEntry.cc:431
virtual ~LoopTableEntry()
Definition: LoopTableEntry.cc:75
void setToSingleAminoAcid()
Definition: LoopTableEntry.cc:126
float getBOND_ANGLE_AT_CALPHA_TO_CPRIME()
Definition: LoopTableEntry.h:213
LoopTableEntry & operator=(const LoopTableEntry &orig)
Definition: LoopTableEntry.cc:383
void rotate(const vgVector3< float > &axis, const double angle)
Definition: LoopTableEntry.cc:159
void copy(const LoopTableEntry &orig)
Definition: LoopTableEntry.cc:111
float rotateIntoXYPlane(VectorTransformation &vt)
Definition: LoopTableEntry.cc:350
double calculateDeviation(const LoopTableEntry &, unsigned int nAmino=0) const
Definition: LoopTableEntry.cc:88
This structure allows to manage a compressed loop table information in vectors.
Definition: LoopTableEntry.h:141
LoopTableEntry()
Definition: LoopTableEntry.cc:59
float getBOND_LENGTH_CALPHA_TO_CPRIME()
Definition: LoopTableEntry.h:192
float getBOND_ANGLE_AT_CPRIME_TO_N()
Definition: LoopTableEntry.h:223
float getBOND_LENGTH_N_TO_CALPHA()
Definition: LoopTableEntry.h:233
Implements an entry for the loop table (equivalent to the old "ProteinTableEntry" from the previous v...
Definition: LoopTableEntry.h:41
float getBOND_LENGTH_CPRIME_TO_N()
Definition: LoopTableEntry.h:202