ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-3.0/src/io/BendTypesSectionParser.cpp
(Generate patch)

Comparing trunk/OOPSE-3.0/src/io/BendTypesSectionParser.cpp (file contents):
Revision 1930 by gezelter, Wed Jan 12 22:41:40 2005 UTC vs.
Revision 1957 by tim, Tue Jan 25 17:45:23 2005 UTC

# Line 47 | Line 47 | namespace oopse {
47   #include "types/PolynomialBendType.hpp"
48   #include "UseTheForce/ForceField.hpp"
49   #include "utils/NumericConstant.hpp"
50 + #include "utils/simError.h"
51   namespace oopse {
52  
53   BendTypesSectionParser::BendTypesSectionParser() {
# Line 67 | Line 68 | void BendTypesSectionParser::parseLine(ForceField& ff,
68      int nTokens = tokenizer.countTokens();
69  
70      if (nTokens < 5) {
71 <
71 >        sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n",
72 >                lineNo);
73 >        painCave.isFatal = 1;
74 >        simError();
75          return;
76      }
77      
# Line 84 | Line 88 | void BendTypesSectionParser::parseLine(ForceField& ff,
88          case btHarmonic :
89              
90              if (nTokens < 1) {
91 <
91 >                sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n",
92 >                        lineNo);
93 >                painCave.isFatal = 1;
94 >                simError();
95              } else {
96  
97                  double ktheta = tokenizer.nextTokenAsDouble();
# Line 93 | Line 100 | void BendTypesSectionParser::parseLine(ForceField& ff,
100              break;
101          case btGhostBend :
102              if (nTokens < 1) {
103 <
103 >                sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n",
104 >                        lineNo);
105 >                painCave.isFatal = 1;
106 >                simError();
107              } else {
108                  double ktheta = tokenizer.nextTokenAsDouble();
109                  bendType = new HarmonicBendType(theta0, ktheta);                
# Line 102 | Line 112 | void BendTypesSectionParser::parseLine(ForceField& ff,
112  
113          case btUreyBradley :
114              if (nTokens < 3) {
115 <
115 >                sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n",
116 >                        lineNo);
117 >                painCave.isFatal = 1;
118 >                simError();
119              } else {
120                  double ktheta = tokenizer.nextTokenAsDouble();
121                  double s0 =  tokenizer.nextTokenAsDouble();
# Line 113 | Line 126 | void BendTypesSectionParser::parseLine(ForceField& ff,
126              
127          case btCubic :
128              if (nTokens < 4) {
129 <
129 >                sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n",
130 >                        lineNo);
131 >                painCave.isFatal = 1;
132 >                simError();
133              } else {
134  
135                  double k3 = tokenizer.nextTokenAsDouble();
# Line 127 | Line 143 | void BendTypesSectionParser::parseLine(ForceField& ff,
143              
144          case btQuartic :
145              if (nTokens < 5) {
146 <
146 >                sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n",
147 >                        lineNo);
148 >                painCave.isFatal = 1;
149 >                simError();
150              } else {
151  
152                  theta0 = tokenizer.nextTokenAsDouble();
# Line 143 | Line 162 | void BendTypesSectionParser::parseLine(ForceField& ff,
162  
163          case btPolynomial :
164              if (nTokens < 2 || nTokens % 2 != 0) {
165 <
165 >                sprintf(painCave.errMsg, "BendTypesSectionParser Error: Not enough tokens at line %d\n",
166 >                        lineNo);
167 >                painCave.isFatal = 1;
168 >                simError();
169              } else {
170                  int nPairs = nTokens / 2;
171                  int power;
# Line 161 | Line 183 | void BendTypesSectionParser::parseLine(ForceField& ff,
183  
184          case btUnknown :
185          default:
186 +            sprintf(painCave.errMsg, "BendTypesSectionParser Error: Unknown Bond Type at line %d\n",
187 +                    lineNo);
188 +            painCave.isFatal = 1;
189 +            simError();
190              break;
191              
192      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines