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

Comparing trunk/OOPSE-2.0/src/io/StickyAtomTypesSectionParser.cpp (file contents):
Revision 1957 by tim, Tue Jan 25 17:45:23 2005 UTC vs.
Revision 2204 by gezelter, Fri Apr 15 22:04:00 2005 UTC

# Line 1 | Line 1
1 < /*
1 > /*
2   * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved.
3   *
4   * The University of Notre Dame grants you ("Licensee") a
# Line 46 | Line 46 | StickyAtomTypesSectionParser::StickyAtomTypesSectionPa
46   #include "utils/simError.h"
47   namespace oopse {
48  
49 < StickyAtomTypesSectionParser::StickyAtomTypesSectionParser() {
49 >  StickyAtomTypesSectionParser::StickyAtomTypesSectionParser() {
50      setSectionName("StickyAtomTypes");
51 < }
51 >  }
52  
53 < void StickyAtomTypesSectionParser::parseLine(ForceField& ff,const std::string& line, int lineNo){
53 >  void StickyAtomTypesSectionParser::parseLine(ForceField& ff,const std::string& line, int lineNo){
54      StringTokenizer tokenizer(line);
55      int nTokens = tokenizer.countTokens();    
56  
57      //in AtomTypeSection, a line at least contains 8 tokens
58      //atomTypeName and 7 different sticky parameters
59      if (nTokens < 8)  {
60 <        sprintf(painCave.errMsg, "StickyAtomTypesSectionParser Error: Not enough tokens at line %d\n",
61 <                lineNo);
62 <        painCave.isFatal = 1;
63 <        simError();                      
60 >      sprintf(painCave.errMsg, "StickyAtomTypesSectionParser Error: Not enough tokens at line %d\n",
61 >              lineNo);
62 >      painCave.isFatal = 1;
63 >      simError();                      
64      } else {
65  
66 <        std::string atomTypeName = tokenizer.nextToken();    
67 <        AtomType* atomType = ff.getAtomType(atomTypeName);
66 >      std::string atomTypeName = tokenizer.nextToken();    
67 >      AtomType* atomType = ff.getAtomType(atomTypeName);
68  
69 <        if (atomType != NULL) {
70 <            DirectionalAtomType* dAtomType = dynamic_cast<DirectionalAtomType*>(atomType);
69 >      if (atomType != NULL) {
70 >        DirectionalAtomType* dAtomType = dynamic_cast<DirectionalAtomType*>(atomType);
71              
72 <            if (dAtomType != NULL) {
73 <                StickyParam sticky;
74 <                sticky.w0 = tokenizer.nextTokenAsDouble();
75 <                sticky.v0 = tokenizer.nextTokenAsDouble();
76 <                sticky.v0p = tokenizer.nextTokenAsDouble();
77 <                sticky.rl = tokenizer.nextTokenAsDouble();
78 <                sticky.ru = tokenizer.nextTokenAsDouble();
79 <                sticky.rlp = tokenizer.nextTokenAsDouble();
80 <                sticky.rup = tokenizer.nextTokenAsDouble();  
72 >        if (dAtomType != NULL) {
73 >          StickyParam sticky;
74 >          sticky.w0 = tokenizer.nextTokenAsDouble();
75 >          sticky.v0 = tokenizer.nextTokenAsDouble();
76 >          sticky.v0p = tokenizer.nextTokenAsDouble();
77 >          sticky.rl = tokenizer.nextTokenAsDouble();
78 >          sticky.ru = tokenizer.nextTokenAsDouble();
79 >          sticky.rlp = tokenizer.nextTokenAsDouble();
80 >          sticky.rup = tokenizer.nextTokenAsDouble();  
81                  
82 <                dAtomType->addProperty(new StickyParamGenericData("Sticky", sticky));
83 <                dAtomType->setSticky();
84 <            } else {
85 <                sprintf(painCave.errMsg, "StickyAtomTypesSectionParser Error: Not enough tokens at line %d\n",
86 <                        lineNo);
87 <                painCave.isFatal = 1;
88 <                simError();            
89 <                std::cerr << "StickyAtomTypesSectionParser Warning:" << std::endl;
90 <            }
91 <        } else {
92 <            sprintf(painCave.errMsg, "StickyAtomTypesSectionParser Error: Can not find matched AtomType %s\n",
93 <                    atomTypeName.c_str());
94 <            painCave.isFatal = 1;
95 <            simError();    
82 >          dAtomType->addProperty(new StickyParamGenericData("Sticky", sticky));
83 >          dAtomType->setSticky();
84 >        } else {
85 >          sprintf(painCave.errMsg, "StickyAtomTypesSectionParser Error: Not enough tokens at line %d\n",
86 >                  lineNo);
87 >          painCave.isFatal = 1;
88 >          simError();            
89 >          std::cerr << "StickyAtomTypesSectionParser Warning:" << std::endl;
90 >        }
91 >      } else {
92 >        sprintf(painCave.errMsg, "StickyAtomTypesSectionParser Error: Can not find matched AtomType %s\n",
93 >                atomTypeName.c_str());
94 >        painCave.isFatal = 1;
95 >        simError();    
96          
97 <        }
97 >      }
98                        
99      }    
100  
101  
102 < }
102 >  }
103  
104   } //end namespace oopse
105  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines