Changeset 2034f3 for src/Parser


Ignore:
Timestamp:
Apr 5, 2012, 3:55:48 PM (13 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
259887
Parents:
3d0892
git-author:
Frederik Heber <heber@…> (03/27/12 12:37:05)
git-committer:
Frederik Heber <heber@…> (04/05/12 15:55:48)
Message:

Added AtomInfo::charge along with getter and setter.

Location:
src/Parser
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/TremoloParser.cpp

    r3d0892 r2034f3  
    4141
    4242#include <algorithm>
     43#include <boost/lexical_cast.hpp>
    4344#include <boost/tokenizer.hpp>
    4445#include <iostream>
     
    308309        *file << "\t";
    309310        break;
     311      case TremoloKey::charge :
     312        if (currentAtom->getCharge() == 0.) {
     313          if (additionalAtomData.count(currentAtom->getId())) {
     314            LOG(3, "Writing for type " << knownKeyNames[currentField] << ": " << additionalAtomData[currentAtom->getId()].get(currentField));
     315            *file << additionalAtomData[currentAtom->getId()].get(currentField);
     316          } else if (additionalAtomData.count(currentAtom->GetTrueFather()->getId())) {
     317            LOG(3, "Writing for type " << knownKeyNames[currentField] << " stuff from father: " << additionalAtomData[currentAtom->GetTrueFather()->getId()].get(currentField));
     318            *file << additionalAtomData[currentAtom->GetTrueFather()->getId()].get(currentField);
     319          } else {
     320            LOG(3, "Writing for type " << knownKeyNames[currentField] << " AtomInfo::charge : " << currentAtom->getCharge());
     321            *file << currentAtom->getCharge();
     322          }
     323        } else {
     324          LOG(3, "Writing for type " << knownKeyNames[currentField] << " AtomInfo::charge : " << currentAtom->getCharge());
     325          *file << currentAtom->getCharge();
     326        }
     327        *file << "\t";
     328        break;
    310329      default :
    311330        if (additionalAtomData.count(currentAtom->getId())) {
     
    482501            atoi(it->substr(it->find("=") + 1, 1).c_str()), atomid);
    483502        break;
     503      case TremoloKey::charge :
     504        ASSERT(tok_iter != tokens.end(), "FormatParser< tremolo >::readAtomDataLine() - no value for "+keyName+"!");
     505        LOG(4, "INFO: Parsing key " << keyName << " with next token " << *tok_iter);
     506        atomInfo->set(currentField, *tok_iter);
     507        newAtom->setCharge(boost::lexical_cast<double>(*tok_iter));
     508        tok_iter++;
     509        break;
    484510      default :
    485511        ASSERT(tok_iter != tokens.end(), "FormatParser< tremolo >::readAtomDataLine() - no value for "+keyName+"!");
  • src/Parser/XmlParser.cpp

    r3d0892 r2034f3  
    164164    newAtom->setType(World::getInstance().getPeriode()->FindElement((atomicNumber_t)1));
    165165    newAtom->setPosition(p.position);
     166    newAtom->setCharge(p.q);
    166167    newmol->AddAtom(newAtom);
    167168    additionalAtomInfo atomInfo(p.q, p.potential, p.field);
     
    201202    const additionalAtomInfo &atomInfo = getAtomData(*(*it));
    202203    p.position = (*it)->getPosition();
    203     p.q = atomInfo.charge;
     204    p.q = (*it)->getCharge();
    204205    p.potential = atomInfo.potential;
    205206    p.field = atomInfo.field;
  • src/Parser/unittests/Makefile.am

    r3d0892 r2034f3  
    3333  ParserXmlUnitTest \
    3434  ParserXyzUnitTest
    35 
    36 XFAIL_TESTS += \
    37         ParserXmlUnitTest
    3835
    3936TESTS += $(PARSERTESTS)
  • src/Parser/unittests/ParserXmlUnitTest.cpp

    r3d0892 r2034f3  
    104104    CPPUNIT_ASSERT( parser->data == parser_control->data );
    105105    delete parser_control;
    106 //    // check for non-empty streams
    107 //    input.peek();
    108 //    output.peek();
    109 //    CPPUNIT_ASSERT(input.good() && output.good());
    110 //    // check equality of streams per line (for debugging)
    111 //    for (; std::getline(input, first) && std::getline(output, second); ) {
    112 //      std::cout << "Comparing '" << first << "' to '" << second << "'" << std::endl;
    113 //      CPPUNIT_ASSERT(first == second);
    114 //    }
    115106  }
    116107}
Note: See TracChangeset for help on using the changeset viewer.