--- trunk/OOPSE-3.0/src/io/BendTypesSectionParser.cpp 2005/01/12 22:41:40 1930 +++ trunk/OOPSE-3.0/src/io/BendTypesSectionParser.cpp 2005/01/25 17:45:23 1957 @@ -47,6 +47,7 @@ namespace oopse { #include "types/PolynomialBendType.hpp" #include "UseTheForce/ForceField.hpp" #include "utils/NumericConstant.hpp" +#include "utils/simError.h" namespace oopse { BendTypesSectionParser::BendTypesSectionParser() { @@ -67,7 +68,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, int nTokens = tokenizer.countTokens(); if (nTokens < 5) { - + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); return; } @@ -84,7 +88,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, case btHarmonic : if (nTokens < 1) { - + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { double ktheta = tokenizer.nextTokenAsDouble(); @@ -93,7 +100,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, break; case btGhostBend : if (nTokens < 1) { - + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { double ktheta = tokenizer.nextTokenAsDouble(); bendType = new HarmonicBendType(theta0, ktheta); @@ -102,7 +112,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, case btUreyBradley : if (nTokens < 3) { - + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { double ktheta = tokenizer.nextTokenAsDouble(); double s0 = tokenizer.nextTokenAsDouble(); @@ -113,7 +126,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, case btCubic : if (nTokens < 4) { - + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { double k3 = tokenizer.nextTokenAsDouble(); @@ -127,7 +143,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, case btQuartic : if (nTokens < 5) { - + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { theta0 = tokenizer.nextTokenAsDouble(); @@ -143,7 +162,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, case btPolynomial : if (nTokens < 2 || nTokens % 2 != 0) { - + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); } else { int nPairs = nTokens / 2; int power; @@ -161,6 +183,10 @@ void BendTypesSectionParser::parseLine(ForceField& ff, case btUnknown : default: + sprintf(painCave.errMsg, "BendTypesSectionParser Error: Unknown Bond Type at line %d\n", + lineNo); + painCave.isFatal = 1; + simError(); break; }