fprintf(fp, "\n");
}
-static int get_atype(int atom, t_atoms* at, gmx::ArrayRef<const PreprocessResidue> rtpFFDB, ResidueTypeMap* rt)
+static int get_atype(int atom,
+ t_atoms* at,
+ gmx::ArrayRef<const PreprocessResidue> rtpFFDB,
+ const ResidueTypeMap& residueTypeMap)
{
int type;
bool bNterm;
{
/* get type from rtpFFDB */
auto localPpResidue = getDatabaseEntry(*(at->resinfo[at->atom[atom].resind].name), rtpFFDB);
- bNterm = rt->namedResidueHasType(*(at->resinfo[at->atom[atom].resind].name), "Protein")
+ bNterm = namedResidueHasType(
+ residueTypeMap, *(at->resinfo[at->atom[atom].resind].name), "Protein")
&& (at->atom[atom].resind == 0);
int j = search_jtype(*localPpResidue, *(at->atomname[atom]), bNterm);
type = localPpResidue->atom[j].type;
return *tp;
}
-static real get_amass(int atom, t_atoms* at, gmx::ArrayRef<const PreprocessResidue> rtpFFDB, ResidueTypeMap* rt)
+static real get_amass(int atom,
+ t_atoms* at,
+ gmx::ArrayRef<const PreprocessResidue> rtpFFDB,
+ const ResidueTypeMap& residueTypeMap)
{
real mass;
bool bNterm;
{
/* get mass from rtpFFDB */
auto localPpResidue = getDatabaseEntry(*(at->resinfo[at->atom[atom].resind].name), rtpFFDB);
- bNterm = rt->namedResidueHasType(*(at->resinfo[at->atom[atom].resind].name), "Protein")
+ bNterm = namedResidueHasType(
+ residueTypeMap, *(at->resinfo[at->atom[atom].resind].name), "Protein")
&& (at->atom[atom].resind == 0);
int j = search_jtype(*localPpResidue, *(at->atomname[atom]), bNterm);
mass = localPpResidue->atom[j].m;
/* make index to tell which residues were already processed */
std::vector<bool> bResProcessed(at->nres);
- ResidueTypeMap rt;
+ ResidueTypeMap residueTypeMap = residueTypeMapFromLibraryFile("residuetypes.dat");
/* generate vsite constructions */
/* loop over all atoms */
* N-terminus that must be treated first.
*/
if (bVsiteAromatics && (strcmp(*(at->atomname[i]), "CA") == 0) && !bResProcessed[resind]
- && rt.namedResidueHasType(*(at->resinfo[resind].name), "Protein"))
+ && namedResidueHasType(residueTypeMap, *(at->resinfo[resind].name), "Protein"))
{
/* mark this residue */
bResProcessed[resind] = TRUE;
and return H atom numbers (Hatoms) and heavy atom numbers (heavies) */
count_bonds(i, &plist[F_BONDS], at->atomname, &nrbonds, &nrHatoms, Hatoms, &Heavy, &nrheavies, heavies);
/* get Heavy atom type */
- tpHeavy = get_atype(Heavy, at, rtpFFDB, &rt);
+ tpHeavy = get_atype(Heavy, at, rtpFFDB, residueTypeMap);
strcpy(tpname, *atype->atomNameFromAtomType(tpHeavy));
bWARNING = FALSE;
/* get dummy mass type from first char of heavy atom type (N or C) */
strcpy(nexttpname,
- *atype->atomNameFromAtomType(get_atype(heavies[0], at, rtpFFDB, &rt)));
+ *atype->atomNameFromAtomType(get_atype(heavies[0], at, rtpFFDB, residueTypeMap)));
std::string ch = get_dummymass_name(vsiteconflist, tpname, nexttpname);
std::string name;
if (ch.empty())
/* get atom masses, and set Heavy and Hatoms mass to zero */
for (int j = 0; j < nrHatoms; j++)
{
- mHtot += get_amass(Hatoms[j], at, rtpFFDB, &rt);
+ mHtot += get_amass(Hatoms[j], at, rtpFFDB, residueTypeMap);
at->atom[Hatoms[j]].m = at->atom[Hatoms[j]].mB = 0;
}
- mtot = mHtot + get_amass(Heavy, at, rtpFFDB, &rt);
+ mtot = mHtot + get_amass(Heavy, at, rtpFFDB, residueTypeMap);
at->atom[Heavy].m = at->atom[Heavy].mB = 0;
if (mHmult != 1.0)
{