19 #include <basic/Tracer.hh>
20 #include <utility/string_util.hh>
21 #include <utility/io/izstream.hh>
27 #include <utility/vector1.hh>
33 static basic::Tracer
tr(
"core.chemical");
51 utility::io::izstream data( filename.c_str() );
53 if ( !data.good() ) utility_exit_with_message(
"Unable to open element file: "+filename );
57 using namespace basic;
61 getline( data, line );
62 while ( getline( data,line ) ) {
63 utility::trim(line,
" \t\n");
64 if ( line.empty() > 0 )
continue;
65 if ( line.find(
"#",0) == 0 )
continue;
67 std::istringstream l( line );
75 utility_exit_with_message(
"bad line: "+line);
78 l >> symbol >> name >> weight >> mass;
81 utility_exit_with_message(
"bad line: "+line);
89 utility_exit_with_message(
"ElementSet:: duplicate element symbol "+symbol);
92 tr.Debug <<
"New element: " << symbol << std::endl;
104 std::cout << (*i).first <<
" " << (*i).second << std::endl;