Changeset 59fff1 for src/Analysis


Ignore:
Timestamp:
Dec 28, 2011, 3:25:49 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:
afa9d8
Parents:
30c753
git-author:
Frederik Heber <heber@…> (12/23/11 10:09:37)
git-committer:
Frederik Heber <heber@…> (12/28/11 15:25:49)
Message:

Replaced the molecule::const_iterator by a true const version of the transform_iterator.

  • lots of places used const_iterator where it made no sense, atom some others one could have sensibly done so but details prevented it, e.g.
    • FormatParserStorage::save() requires vector<atom*> not const atom *,
    • Boundaries (and most of Tesselation for that) requires atom *, not const atom *.
  • Added new function molecule::isInMolecule() to check whether atomic id is in molecule::atomIds.
  • Added const version of atom::GetTrueFather().
Location:
src/Analysis
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/Analysis/analysis_correlation.cpp

    r30c753 r59fff1  
    212212    LOG(1,"INFO: Resulting relative angle for molecule " << _mol->getName()
    213213        << " is " << angle << ".");
    214     outmap->insert ( make_pair (angle, *iter ) );
     214    outmap->insert ( std::make_pair (angle, *iter ) );
    215215    ++i;
    216216  }
     
    322322                distance = domain.periodicDistance((*iter)->getPosition(),(*runner)->getPosition());
    323323                //LOG(1, "Inserting " << *(*iter) << " and " << *(*runner));
    324                 outmap->insert ( pair<double, pair <atom *, atom*> > (distance, pair<atom *, atom*> ((*iter), (*runner)) ) );
     324                outmap->insert (
     325                    std::pair<double, std::pair <const atom *, const atom*> > (
     326                        distance,
     327                        std::pair<const atom *, const atom*> ((*iter), (*runner))
     328                        )
     329                    );
    325330              }
    326331          }
     
    403408                              distance = checkX.distance(checkOtherX);
    404409                              //LOG(1, "Inserting " << *(*iter) << " and " << *(*runner));
    405                               outmap->insert ( pair<double, pair <atom *, atom*> > (distance, pair<atom *, atom*> ((*iter), (*runner)) ) );
     410                              outmap->insert (
     411                                  std::pair<double, std::pair <const atom *, const atom*> > (
     412                                      distance,
     413                                      std::pair<const atom *, const atom*> (
     414                                          (*iter),
     415                                          (*runner))
     416                                      )
     417                                  );
    406418                            }
    407419                      }
     
    444456          distance = domain.periodicDistance((*iter)->getPosition(),*point);
    445457          LOG(4, "Current distance is " << distance << ".");
    446           outmap->insert ( pair<double, pair<atom *, const Vector*> >(distance, pair<atom *, const Vector*> ((*iter), point) ) );
     458          outmap->insert (
     459              std::pair<double, std::pair<const atom *, const Vector*> >(
     460                  distance,
     461                  std::pair<const atom *, const Vector*> (
     462                      (*iter),
     463                      point)
     464                  )
     465              );
    447466        }
    448467    }
     
    491510                distance = checkX.distance(*point);
    492511                LOG(4, "Current distance is " << distance << ".");
    493                 outmap->insert ( pair<double, pair<atom *, const Vector*> >(distance, pair<atom *, const Vector*> (*iter, point) ) );
     512                outmap->insert (
     513                    std::pair<double,
     514                    std::pair<const atom *, const Vector*> >(
     515                        distance,
     516                        std::pair<const atom *, const Vector*> (
     517                            *iter,
     518                            point)
     519                        )
     520                    );
    494521              }
    495522        }
     
    533560          distance = Intersections.GetSmallestDistance();
    534561          triangle = Intersections.GetClosestTriangle();
    535           outmap->insert ( pair<double, pair<atom *, BoundaryTriangleSet*> >(distance, pair<atom *, BoundaryTriangleSet*> ((*iter), triangle) ) );
     562          outmap->insert (
     563              std::pair<double,
     564              std::pair<const atom *, BoundaryTriangleSet*> >(
     565                  distance,
     566                  std::pair<const atom *, BoundaryTriangleSet*> (
     567                      (*iter),
     568                      triangle)
     569                  )
     570              );
    536571        }
    537572    }
     
    597632              }
    598633          // insert
    599           outmap->insert ( pair<double, pair<atom *, BoundaryTriangleSet*> >(ShortestDistance, pair<atom *, BoundaryTriangleSet*> (*iter, ShortestTriangle) ) );
     634          outmap->insert (
     635              std::pair<double,
     636              std::pair<const atom *, BoundaryTriangleSet*> >(
     637                  ShortestDistance,
     638                  std::pair<const atom *, BoundaryTriangleSet*> (
     639                      *iter,
     640                      ShortestTriangle)
     641                  )
     642              );
    600643          //LOG(1, "INFO: Inserting " << Walker << " with distance " << ShortestDistance << " to " << *ShortestTriangle << ".");
    601644        }
  • TabularUnified src/Analysis/analysis_correlation.hpp

    r30c753 r59fff1  
    4646/********************************************** definitions *********************************/
    4747
    48 typedef multimap<double, pair<atom *, atom *> > PairCorrelationMap;
    49 typedef multimap<double, atom * > DipoleAngularCorrelationMap;
    50 typedef multimap<double, pair<molecule *, molecule *> > DipoleCorrelationMap;
    51 typedef multimap<double, pair<atom *, const Vector *> > CorrelationToPointMap;
    52 typedef multimap<double, pair<atom *, BoundaryTriangleSet *> > CorrelationToSurfaceMap;
     48typedef multimap<double, pair<const atom *, const atom *> > PairCorrelationMap;
     49typedef multimap<double, const atom * > DipoleAngularCorrelationMap;
     50typedef multimap<double, pair<const molecule *, const molecule *> > DipoleCorrelationMap;
     51typedef multimap<double, pair<const atom *, const Vector *> > CorrelationToPointMap;
     52typedef multimap<double, pair<const atom *, BoundaryTriangleSet *> > CorrelationToSurfaceMap;
    5353typedef map<double, int> BinPairMap;
    5454
Note: See TracChangeset for help on using the changeset viewer.