Changeset 99db9b for src


Ignore:
Timestamp:
Jul 24, 2015, 4:44:35 PM (10 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:
fac58f
Parents:
a58c16
git-author:
Frederik Heber <heber@…> (06/02/15 08:32:10)
git-committer:
Frederik Heber <heber@…> (07/24/15 16:44:35)
Message:

Replaced all World::getSelected...() to const version where possible.

  • also added const version of World::getSelectedAtoms().
Location:
src
Files:
38 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/AnalysisAction/DipoleAngularCorrelationAction.cpp

    ra58c16 r99db9b  
    6464
    6565  // get selected atoms
    66   std::vector<atom*> old_atom_selection = World::getInstance().getSelectedAtoms();
    67   std::vector<molecule*> old_molecule_selection = World::getInstance().getSelectedMolecules();
     66  std::vector<const atom*> old_atom_selection =
     67      const_cast<const World &>(World::getInstance()).getSelectedAtoms();
     68  std::vector<const molecule*> old_molecule_selection =
     69      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    6870
    6971  // get current time step
     
    7577  World::getInstance().clearMoleculeSelection(); // TODO: This should be done in setTime or where molecules are re-done
    7678  World::getInstance().selectAllMolecules(MoleculeByFormula(DipoleFormula));
    77   std::vector<molecule *> molecules = World::getInstance().getSelectedMolecules();
     79  std::vector<const molecule *> molecules =
     80      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    7881  std::map<atomId_t, Vector> ZeroVector = CalculateZeroAngularDipole(molecules);
    7982
     
    8184  World::getInstance().clearAtomSelection();
    8285  World::getInstance().selectAllAtoms(AtomsByMoleculeSelection());
    83   std::vector<atom *> atoms = World::getInstance().getSelectedAtoms();
     86  std::vector<const atom *> atoms = const_cast<const World &>(World::getInstance()).
     87      getSelectedAtoms();
    8488  if (atoms.empty()) {
    8589    STATUS("Formula "+toString(DipoleFormula)+" selects no atoms.");
     
    130134  // reset to old selections
    131135  World::getInstance().clearAtomSelection();
    132   BOOST_FOREACH(atom *_atom, old_atom_selection) {
     136  BOOST_FOREACH(const atom *_atom, old_atom_selection) {
    133137    World::getInstance().selectAtom(_atom);
    134138  }
    135139  World::getInstance().clearMoleculeSelection();
    136   BOOST_FOREACH(molecule *_mol, old_molecule_selection) {
     140  BOOST_FOREACH(const molecule *_mol, old_molecule_selection) {
    137141    World::getInstance().selectMolecule(_mol);
    138142  }
  • src/Actions/AnalysisAction/DipoleCorrelationAction.cpp

    ra58c16 r99db9b  
    6666  binoutput.open(params.binoutputname.get().string().c_str());
    6767  DipoleCorrelationMap *correlationmap = NULL;
    68   std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules();
     68  const std::vector<const molecule*> molecules =
     69      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    6970  STATUS("There are "+toString(molecules.size())+" selected molecules.");
    7071  ASSERT(!params.periodic.get(), "AnalysisDipoleCorrelationAction() - periodic case not implemented.");
  • src/Actions/AnalysisAction/PointCorrelationAction.cpp

    ra58c16 r99db9b  
    7171  for(std::vector<const element *>::const_iterator iter = params.elements.get().begin(); iter != params.elements.get().end(); ++iter)
    7272    cout << "element is " << (*iter)->getSymbol() << endl;
    73   std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules();
     73  const std::vector<const molecule*> molecules =
     74      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    7475  if (params.periodic.get())
    7576    correlationmap  = PeriodicCorrelationToPoint(molecules, params.elements.get(), &params.Point.get(), ranges);
  • src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp

    ra58c16 r99db9b  
    9696
    9797  // correlate
    98   std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules();
     98  const std::vector<const molecule*> molecules =
     99      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    99100  std::cout << "There are " << molecules.size() << " selected molecules." << std::endl;
    100101  CorrelationToSurfaceMap *surfacemap = NULL;
  • src/Actions/AtomAction/RotateAroundOriginByAngleAction.cpp

    ra58c16 r99db9b  
    7676  }
    7777  LOG(0, "done.");
    78   return ActionState::ptr(new AtomRotateAroundOriginByAngleState(World::getInstance().getSelectedAtoms(), params));
     78  return ActionState::ptr(new AtomRotateAroundOriginByAngleState(selectedAtoms, params));
    7979}
    8080
  • src/Actions/MoleculeAction/SaveTemperatureAction.cpp

    ra58c16 r99db9b  
    6060  ofstream output;
    6161  output.open(params.temperaturefile.get().string().c_str(), ios::trunc);
    62   AtomSetMixin<std::vector<atom *> > set(World::getInstance().getSelectedAtoms());
     62  AtomSetMixin<std::vector<const atom *> > set =
     63      const_cast<const World &>(World::getInstance()).getSelectedAtoms();
    6364  const size_t MDSteps = set.getMaxTrajectorySize();
    64   OutputTemperature<std::vector<atom *> > writer(set);
     65  OutputTemperature<std::vector<const atom *> > writer(set);
    6566  if (output.fail() || !writer((ofstream * const) &output, 0, MDSteps)) {
    6667    STATUS("File could not be written.");
  • src/Actions/ParserAction/SaveSelectedAtomsAsExtTypesAction.cpp

    ra58c16 r99db9b  
    6565    boost::filesystem::ofstream test;
    6666    test.open(params.filename.get());
    67     const bool status = parser.saveAtomsInExttypes(test, World::getInstance().getSelectedAtoms(), params.id.get());
     67    const bool status = parser.saveAtomsInExttypes(
     68        test,
     69        const_cast<const World &>(World::getInstance()).getSelectedAtoms(),
     70        params.id.get());
    6871    test.close();
    6972
  • src/Actions/SelectionAction/Atoms/AllAtomsAction.cpp

    ra58c16 r99db9b  
    5454/** =========== define the function ====================== */
    5555ActionState::ptr SelectionAllAtomsAction::performCall() {
    56   std::vector<atom *> selectedAtoms = World::getInstance().getSelectedAtoms();
     56  const std::vector<const atom *> selectedAtoms =
     57      const_cast<const World &>(World::getInstance()).getSelectedAtoms();
    5758  LOG(1, "Selecting all atoms.");
    5859  World::getInstance().selectAllAtoms(AllAtoms());
     
    6667  World::getInstance().clearAtomSelection();
    6768
    68   BOOST_FOREACH(atom *_atom, state->selectedAtoms)
     69  BOOST_FOREACH(const atom *_atom, state->selectedAtoms)
    6970    World::getInstance().selectAtom(_atom);
    7071
  • src/Actions/SelectionAction/Atoms/AllAtomsAction.def

    ra58c16 r99db9b  
    2121#undef paramvalids
    2222
    23 #define statetypes (std::vector<atom*>)
     23#define statetypes (std::vector<const atom*>)
    2424#define statereferences (selectedAtoms)
    2525
  • src/Actions/SelectionAction/Atoms/ClearAllAtomsAction.cpp

    ra58c16 r99db9b  
    5454/** =========== define the function ====================== */
    5555ActionState::ptr SelectionClearAllAtomsAction::performCall() {
    56   std::vector<atom *> selectedAtoms = World::getInstance().getSelectedAtoms();
     56  const std::vector<const atom *> selectedAtoms =
     57      const_cast<const World &>(World::getInstance()).getSelectedAtoms();
    5758  LOG(1, "Clearing atoms selection.");
    5859  World::getInstance().clearAtomSelection();
     
    6465
    6566  World::getInstance().clearAtomSelection();
    66   BOOST_FOREACH(atom *_atom, state->selectedAtoms)
     67  BOOST_FOREACH(const atom *_atom, state->selectedAtoms)
    6768    World::getInstance().selectAtom(_atom);
    6869
  • src/Actions/SelectionAction/Atoms/ClearAllAtomsAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<atom*>)
     22#define statetypes (std::vector<const atom*>)
    2323#define statereferences (selectedAtoms)
    2424
  • src/Actions/SelectionAction/Atoms/NotAllAtomsAction.cpp

    ra58c16 r99db9b  
    5454/** =========== define the function ====================== */
    5555ActionState::ptr SelectionNotAllAtomsAction::performCall() {
    56   std::vector<atom *> selectedAtoms = World::getInstance().getSelectedAtoms();
     56  const std::vector<const atom *> selectedAtoms =
     57      const_cast<const World &>(World::getInstance()).getSelectedAtoms();
    5758  LOG(1, "Unselecting all atoms.");
    5859  World::getInstance().clearAtomSelection();
     
    6566
    6667  World::getInstance().clearAtomSelection();
    67   BOOST_FOREACH(atom *_atom, state->unselectedAtoms)
     68  BOOST_FOREACH(const atom *_atom, state->unselectedAtoms)
    6869    World::getInstance().selectAtom(_atom);
    6970
  • src/Actions/SelectionAction/Atoms/NotAllAtomsAction.def

    ra58c16 r99db9b  
    2121#undef paramvalids
    2222
    23 #define statetypes (std::vector<atom*>)
     23#define statetypes (std::vector<const atom*>)
    2424#define statereferences (unselectedAtoms)
    2525
  • src/Actions/SelectionAction/Atoms/PopAtomsAction.cpp

    ra58c16 r99db9b  
    5050ActionState::ptr SelectionPopAtomsAction::performCall() {
    5151  // create undo state
    52   const std::vector<atom *> selected_atoms = World::getInstance().getSelectedAtoms();
    53   std::vector<atomId_t> selected_atomids(selected_atoms.size(), (atomId_t)-1);
    54   std::transform(
    55       selected_atoms.begin(), selected_atoms.end(),
    56       selected_atomids.begin(),
    57       boost::bind(&atom::getId, _1));
     52  const std::vector<const atom *> selectedAtoms =
     53      const_cast<const World &>(World::getInstance()).getSelectedAtoms();
    5854  LOG(1, "Popping atom selection.");
    5955  World::getInstance().popAtomSelection();
    60   return ActionState::ptr(new SelectionPopAtomsState(selected_atomids, params));
     56  return ActionState::ptr(new SelectionPopAtomsState(selectedAtoms, params));
    6157}
    6258
     
    6763
    6864  // and re-create present selection
    69   for(std::vector<atomId_t>::const_iterator iter = state->selected_atomids.begin();
    70       iter != state->selected_atomids.end(); ++iter)
    71     World::getInstance().selectAtom(*iter);
     65  World::getInstance().clearAtomSelection();
     66  BOOST_FOREACH(const atom *_atom, state->selectedAtoms)
     67    World::getInstance().selectAtom(_atom);
    7268
    7369  return ActionState::ptr(_state);
  • src/Actions/SelectionAction/Atoms/PopAtomsAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<atomId_t>)
    23 #define statereferences (selected_atomids)
     22#define statetypes (std::vector<const atom *>)
     23#define statereferences (selectedAtoms)
    2424
    2525// some defines for all the names, you may use ACTION, STATE and PARAMS
  • src/Actions/SelectionAction/Molecules/AllMoleculesAction.cpp

    ra58c16 r99db9b  
    5555/** =========== define the function ====================== */
    5656ActionState::ptr SelectionAllMoleculesAction::performCall() {
    57   std::vector<molecule *> selectedMolecules = World::getInstance().getSelectedMolecules();
     57  const std::vector<const molecule *> selectedMolecules =
     58      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    5859  LOG(1, "Selecting all molecules.");
    5960  World::getInstance().selectAllMolecules(AllMolecules());
     
    6667
    6768  World::getInstance().clearMoleculeSelection();
    68   BOOST_FOREACH(molecule *_mol, state->selectedMolecules)
     69  BOOST_FOREACH(const molecule *_mol, state->selectedMolecules)
    6970    World::getInstance().selectMolecule(_mol);
    7071
  • src/Actions/SelectionAction/Molecules/AllMoleculesAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<molecule*>)
     22#define statetypes (std::vector<const molecule*>)
    2323#define statereferences (selectedMolecules)
    2424
  • src/Actions/SelectionAction/Molecules/ClearAllMoleculesAction.cpp

    ra58c16 r99db9b  
    5454/** =========== define the function ====================== */
    5555ActionState::ptr SelectionClearAllMoleculesAction::performCall() {
    56   std::vector<molecule *> selectedMolecules = World::getInstance().getSelectedMolecules();
     56  const std::vector<const molecule *> selectedMolecules =
     57      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    5758  LOG(1, "Clearing molecule selection.");
    5859  World::getInstance().clearMoleculeSelection();
     
    6566
    6667  World::getInstance().clearMoleculeSelection();
    67   BOOST_FOREACH(molecule *_mol, state->selectedMolecules)
     68  BOOST_FOREACH(const molecule *_mol, state->selectedMolecules)
    6869    World::getInstance().selectMolecule(_mol);
    6970
  • src/Actions/SelectionAction/Molecules/ClearAllMoleculesAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<molecule*>)
     22#define statetypes (std::vector<const molecule*>)
    2323#define statereferences (selectedMolecules)
    2424
  • src/Actions/SelectionAction/Molecules/MoleculeOfAtomAction.cpp

    ra58c16 r99db9b  
    5454/** =========== define the function ====================== */
    5555ActionState::ptr SelectionMoleculeOfAtomAction::performCall() {
    56   std::vector<molecule *> selectedMolecules = World::getInstance().getSelectedMolecules();
     56  const std::vector<const molecule *> selectedMolecules =
     57      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    5758  LOG(1, "Selecting molecule to currently selected atoms: " << World::getInstance().countSelectedAtoms());
    5859  World::getInstance().selectAllMolecules(MoleculesByAtomSelection());
     
    6566
    6667  World::getInstance().clearMoleculeSelection();
    67   BOOST_FOREACH(molecule *_mol, state->selectedMolecules)
     68  BOOST_FOREACH(const molecule *_mol, state->selectedMolecules)
    6869    World::getInstance().selectMolecule(_mol);
    6970
  • src/Actions/SelectionAction/Molecules/MoleculeOfAtomAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<molecule*>)
     22#define statetypes (std::vector<const molecule*>)
    2323#define statereferences (selectedMolecules)
    2424
  • src/Actions/SelectionAction/Molecules/NotAllMoleculesAction.cpp

    ra58c16 r99db9b  
    5454/** =========== define the function ====================== */
    5555ActionState::ptr SelectionNotAllMoleculesAction::performCall() {
    56   std::vector<molecule *> selectedMolecules = World::getInstance().getSelectedMolecules();
     56  const std::vector<const molecule *> selectedMolecules =
     57      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    5758  LOG(1, "Unselecting all molecules.");
    5859  World::getInstance().clearMoleculeSelection();
     
    6566
    6667  World::getInstance().clearMoleculeSelection();
    67   BOOST_FOREACH(molecule *_mol, state->unselectedMolecules)
     68  BOOST_FOREACH(const molecule *_mol, state->selectedMolecules)
    6869    World::getInstance().selectMolecule(_mol);
    6970
  • src/Actions/SelectionAction/Molecules/NotAllMoleculesAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<molecule*>)
    23 #define statereferences (unselectedMolecules)
     22#define statetypes (std::vector<const molecule*>)
     23#define statereferences (selectedMolecules)
    2424
    2525// some defines for all the names, you may use ACTION, STATE and PARAMS
  • src/Actions/SelectionAction/Molecules/NotMoleculeOfAtomAction.cpp

    ra58c16 r99db9b  
    5454/** =========== define the function ====================== */
    5555ActionState::ptr SelectionNotMoleculeOfAtomAction::performCall() {
    56   std::vector<molecule *> unselectedMolecules = World::getInstance().getSelectedMolecules();
     56  const std::vector<const molecule *> selectedMolecules =
     57      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    5758  LOG(1, "Unselecting molecule to currently selected atoms.");
    5859  World::getInstance().unselectAllMolecules(MoleculesByAtomSelection());
    5960  LOG(0, World::getInstance().countSelectedMolecules() << " molecules remain selected.");
    60   return ActionState::ptr(new SelectionNotMoleculeOfAtomState(unselectedMolecules, params));
     61  return ActionState::ptr(new SelectionNotMoleculeOfAtomState(selectedMolecules, params));
    6162}
    6263
     
    6566
    6667  World::getInstance().clearMoleculeSelection();
    67   BOOST_FOREACH(molecule *_mol, state->unselectedMolecules)
     68  BOOST_FOREACH(const molecule *_mol, state->selectedMolecules)
    6869    World::getInstance().selectMolecule(_mol);
    6970
  • src/Actions/SelectionAction/Molecules/NotMoleculeOfAtomAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<molecule*>)
    23 #define statereferences (unselectedMolecules)
     22#define statetypes (std::vector<const molecule*>)
     23#define statereferences (selectedMolecules)
    2424
    2525// some defines for all the names, you may use ACTION, STATE and PARAMS
  • src/Actions/SelectionAction/Molecules/PopMoleculesAction.cpp

    ra58c16 r99db9b  
    5050ActionState::ptr SelectionPopMoleculesAction::performCall() {
    5151  // create undo state
    52   const std::vector<molecule *> selected_mols = World::getInstance().getSelectedMolecules();
    53   std::vector<moleculeId_t> selected_molids(selected_mols.size(), (moleculeId_t)-1);
    54   std::transform(
    55       selected_mols.begin(), selected_mols.end(),
    56       selected_molids.begin(),
    57       boost::bind(&molecule::getId, _1));
     52  const std::vector<const molecule *> selectedMolecules =
     53      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    5854  LOG(1, "Popping molecule selection.");
    5955  World::getInstance().popMoleculeSelection();
    60   return ActionState::ptr(new SelectionPopMoleculesState(selected_molids, params));
     56  return ActionState::ptr(new SelectionPopMoleculesState(selectedMolecules, params));
    6157}
    6258
     
    6662  World::getInstance().pushMoleculeSelection();
    6763  // re-create old selection
    68   for(std::vector<moleculeId_t>::const_iterator iter = state->selected_molids.begin();
    69       iter != state->selected_molids.end(); ++iter)
    70     World::getInstance().selectMolecule(*iter);
     64  World::getInstance().clearMoleculeSelection();
     65  BOOST_FOREACH(const molecule *_mol, state->selectedMolecules)
     66    World::getInstance().selectMolecule(_mol);
    7167
    7268  return ActionState::ptr(_state);
  • src/Actions/SelectionAction/Molecules/PopMoleculesAction.def

    ra58c16 r99db9b  
    2020#undef paramvalids
    2121
    22 #define statetypes (std::vector<moleculeId_t>)
    23 #define statereferences (selected_molids)
     22#define statetypes (std::vector<const molecule *>)
     23#define statereferences (selectedMolecules)
    2424
    2525// some defines for all the names, you may use ACTION, STATE and PARAMS
  • src/Analysis/analysis_correlation.cpp

    ra58c16 r99db9b  
    125125 * \return range with [min, max]
    126126 */
    127 range<size_t> getMaximumTrajectoryBounds(const std::vector<atom *> &atoms)
     127range<size_t> getMaximumTrajectoryBounds(const std::vector<const atom *> &atoms)
    128128{
    129129  // get highest trajectory size
     
    133133  size_t max_timesteps = std::numeric_limits<size_t>::min();
    134134  size_t min_timesteps = std::numeric_limits<size_t>::max();
    135   BOOST_FOREACH(atom *_atom, atoms) {
     135  BOOST_FOREACH(const atom *_atom, atoms) {
    136136    if (_atom->getTrajectorySize() > max_timesteps)
    137137      max_timesteps  = _atom->getTrajectorySize();
     
    149149 * \return map with orientation vector for each atomic id given in \a atoms.
    150150 */
    151 std::map<atomId_t, Vector> CalculateZeroAngularDipole(const std::vector<molecule *> &molecules)
     151std::map<atomId_t, Vector> CalculateZeroAngularDipole(const std::vector<const molecule *> &molecules)
    152152{
    153153  // get zero orientation for each molecule.
    154154  LOG(0,"STATUS: Calculating dipoles for current time step ...");
    155155  std::map<atomId_t, Vector> ZeroVector;
    156   BOOST_FOREACH(molecule *_mol, molecules) {
    157     const Vector Dipole =
    158         getDipole(
    159             const_cast<const molecule *>(_mol)->begin(),
    160             const_cast<const molecule *>(_mol)->end());
    161     for(molecule::const_iterator iter = const_cast<const molecule *>(_mol)->begin();
    162         iter != const_cast<const molecule *>(_mol)->end();
    163         ++iter)
     156  BOOST_FOREACH(const molecule *_mol, molecules) {
     157    const Vector Dipole = getDipole(_mol->begin(),_mol->end());
     158    for(molecule::const_iterator iter = _mol->begin(); iter != _mol->end(); ++iter)
    164159      ZeroVector[(*iter)->getId()] = Dipole;
    165160    LOG(2,"INFO: Zero alignment for molecule " << _mol->getId() << " is " << Dipole);
     
    205200  World::getInstance().clearMoleculeSelection();
    206201  World::getInstance().selectAllMolecules(MoleculeByFormula(DipoleFormula));
    207   std::vector<molecule *> molecules = World::getInstance().getSelectedMolecules();
     202  std::vector<const molecule *> molecules =
     203      const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    208204  LOG(1,"INFO: There are " << molecules.size() << " molecules for time step " << timestep << ".");
    209205
     
    212208  size_t i=0;
    213209  size_t Counter_rejections = 0;
    214   BOOST_FOREACH(molecule *_mol, molecules) {
    215     const Vector Dipole =
    216         getDipole(
    217             const_cast<const molecule *>(_mol)->begin(),
    218             const_cast<const molecule *>(_mol)->end());
     210  BOOST_FOREACH(const molecule *_mol, molecules) {
     211    const Vector Dipole = getDipole(_mol->begin(),_mol->end());
    219212    LOG(3,"INFO: Dipole vector at time step " << timestep << " for for molecule "
    220213        << _mol->getId() << " is " << Dipole);
    221214    // check that all atoms are valid (zeroVector known)
    222     molecule::const_iterator iter = const_cast<const molecule *>(_mol)->begin();
    223     for(; iter != const_cast<const molecule *>(_mol)->end(); ++iter) {
     215    molecule::const_iterator iter = _mol->begin();
     216    for(; iter != _mol->end(); ++iter) {
    224217      if (!ZeroVector.count((*iter)->getId()))
    225218        break;
    226219    }
    227     if (iter != const_cast<const molecule *>(_mol)->end()) {
     220    if (iter != _mol->end()) {
    228221      ELOG(2, "Skipping molecule " << _mol->getName() << " as not all atoms have a valid zeroVector.");
    229222      ++Counter_rejections;
    230223      continue;
    231224    } else
    232       iter = const_cast<const molecule *>(_mol)->begin();
     225      iter = _mol->begin();
    233226    std::map<atomId_t, Vector>::const_iterator zeroValue = ZeroVector.find((*iter)->getId()); //due to iter is const
    234227    double angle = 0.;
     
    274267 * \return Map of doubles with values the pair of the two atoms.
    275268 */
    276 DipoleCorrelationMap *DipoleCorrelation(std::vector<molecule *> &molecules)
     269DipoleCorrelationMap *DipoleCorrelation(
     270    const std::vector<const molecule *> &molecules)
    277271{
    278272  Info FunctionInfo(__func__);
     
    286280  }
    287281
    288   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin();
     282  for (std::vector<const molecule *>::const_iterator MolWalker = molecules.begin();
    289283      MolWalker != molecules.end(); ++MolWalker) {
    290284    LOG(2, "INFO: Current molecule is " << (*MolWalker)->getId() << ".");
    291     const Vector Dipole =
    292         getDipole(
    293             const_cast<const molecule *>(*MolWalker)->begin(),
    294             const_cast<const molecule *>(*MolWalker)->end());
    295     std::vector<molecule *>::const_iterator MolOtherWalker = MolWalker;
    296     for (++MolOtherWalker;
    297         MolOtherWalker != molecules.end();
     285    const Vector Dipole = getDipole((*MolWalker)->begin(), (*MolWalker)->end());
     286    std::vector<const molecule *>::const_iterator MolOtherWalker = MolWalker;
     287    for (++MolOtherWalker; MolOtherWalker != molecules.end();
    298288        ++MolOtherWalker) {
    299289      LOG(2, "INFO: Current other molecule is " << (*MolOtherWalker)->getId() << ".");
    300       const Vector OtherDipole = getDipole(
    301           const_cast<const molecule *>(*MolOtherWalker)->begin(),
    302           const_cast<const molecule *>(*MolOtherWalker)->end());
     290      const Vector OtherDipole = getDipole((*MolOtherWalker)->begin(), (*MolOtherWalker)->end());
    303291      const double angle = Dipole.Angle(OtherDipole) * (180./M_PI);
    304292      LOG(1, "Angle is " << angle << ".");
     
    409397 * \return Map of dobules with values as pairs of atom and the vector
    410398 */
    411 CorrelationToPointMap *CorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point )
     399CorrelationToPointMap *CorrelationToPoint(
     400    const std::vector<const molecule *> &molecules,
     401    const std::vector<const element *> &elements,
     402    const Vector *point )
    412403{
    413404  Info FunctionInfo(__func__);
     
    421412  }
    422413
    423   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
     414  for (std::vector<const molecule *>::const_iterator MolWalker = molecules.begin();
     415      MolWalker != molecules.end();
     416      MolWalker++) {
    424417    LOG(2, "Current molecule is " << *MolWalker << ".");
    425     for (molecule::const_iterator iter = const_cast<const molecule *>(*MolWalker)->begin();
    426         iter != const_cast<const molecule *>(*MolWalker)->end();
    427         ++iter) {
     418    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    428419      LOG(3, "Current atom is " << **iter << ".");
    429420      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
     
    453444 * \return Map of dobules with values as pairs of atom and the vector
    454445 */
    455 CorrelationToPointMap *PeriodicCorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point, const int ranges[NDIM] )
     446CorrelationToPointMap *PeriodicCorrelationToPoint(
     447    const std::vector<const molecule *> &molecules,
     448    const std::vector<const element *> &elements,
     449    const Vector *point,
     450    const int ranges[NDIM] )
    456451{
    457452  Info FunctionInfo(__func__);
     
    467462  }
    468463
    469   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
     464  for (std::vector<const molecule *>::const_iterator MolWalker = molecules.begin();
     465      MolWalker != molecules.end();
     466      MolWalker++) {
    470467    RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM();
    471468    RealSpaceMatrix FullInverseMatrix = World::getInstance().getDomain().getMinv();
    472469    LOG(2, "Current molecule is " << *MolWalker << ".");
    473     for (molecule::const_iterator iter = const_cast<const molecule *>(*MolWalker)->begin();
    474         iter != const_cast<const molecule *>(*MolWalker)->end();
    475         ++iter) {
     470    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    476471      LOG(3, "Current atom is " << **iter << ".");
    477472      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
     
    509504 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest
    510505 */
    511 CorrelationToSurfaceMap *CorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell_deprecated *LC )
     506CorrelationToSurfaceMap *CorrelationToSurface(
     507    const std::vector<const molecule *> &molecules,
     508    const std::vector<const element *> &elements,
     509    const Tesselation * const Surface,
     510    const LinkedCell_deprecated *LC )
    512511{
    513512  Info FunctionInfo(__func__);
     
    522521  }
    523522
    524   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
     523  for (std::vector<const molecule *>::const_iterator MolWalker = molecules.begin();
     524      MolWalker != molecules.end();
     525      MolWalker++) {
    525526    LOG(2, "Current molecule is " << (*MolWalker)->name << ".");
    526527    if ((*MolWalker)->empty())
    527528      LOG(2, "\t is empty.");
    528     for (molecule::const_iterator iter = const_cast<const molecule *>(*MolWalker)->begin();
    529         iter != const_cast<const molecule *>(*MolWalker)->end();
    530         ++iter) {
     529    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    531530      LOG(3, "\tCurrent atom is " << *(*iter) << ".");
    532531      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
     
    563562 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest
    564563 */
    565 CorrelationToSurfaceMap *PeriodicCorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell_deprecated *LC, const int ranges[NDIM] )
     564CorrelationToSurfaceMap *PeriodicCorrelationToSurface(
     565    const std::vector<const molecule *> &molecules,
     566    const std::vector<const element *> &elements,
     567    const Tesselation * const Surface,
     568    const LinkedCell_deprecated *LC,
     569    const int ranges[NDIM] )
    566570{
    567571  Info FunctionInfo(__func__);
     
    581585  double ShortestDistance = 0.;
    582586  BoundaryTriangleSet *ShortestTriangle = NULL;
    583   for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
     587  for (std::vector<const molecule *>::const_iterator MolWalker = molecules.begin();
     588      MolWalker != molecules.end();
     589      MolWalker++) {
    584590    RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM();
    585591    RealSpaceMatrix FullInverseMatrix = World::getInstance().getDomain().getMinv();
    586592    LOG(2, "Current molecule is " << *MolWalker << ".");
    587     for (molecule::const_iterator iter = const_cast<const molecule *>(*MolWalker)->begin();
    588         iter != const_cast<const molecule *>(*MolWalker)->end();
    589         ++iter) {
     593    for (molecule::const_iterator iter = (*MolWalker)->begin(); iter != (*MolWalker)->end(); ++iter) {
    590594      LOG(3, "Current atom is " << **iter << ".");
    591595      for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type)
  • src/Analysis/analysis_correlation.hpp

    ra58c16 r99db9b  
    6161/********************************************** declarations *******************************/
    6262
    63 range<size_t> getMaximumTrajectoryBounds(const std::vector<atom *> &atoms);
    64 std::map<atomId_t, Vector> CalculateZeroAngularDipole(const std::vector<molecule *> &molecules);
    65 
    66 DipoleAngularCorrelationMap *DipoleAngularCorrelation(const Formula &DipoleFormula, const size_t timestep, const std::map<atomId_t, Vector> &ZeroVector, const enum ResetWorldTime DoTimeReset = DontResetTime);
    67 DipoleCorrelationMap *DipoleCorrelation(std::vector<molecule *> &molecules);
     63range<size_t> getMaximumTrajectoryBounds(
     64    const std::vector<const atom *> &atoms);
     65std::map<atomId_t, Vector> CalculateZeroAngularDipole(
     66    const std::vector<const molecule *> &molecules);
     67
     68DipoleAngularCorrelationMap *DipoleAngularCorrelation(
     69    const Formula &DipoleFormula,
     70    const size_t timestep,
     71    const std::map<atomId_t, Vector> &ZeroVector,
     72    const enum ResetWorldTime DoTimeReset = DontResetTime);
     73DipoleCorrelationMap *DipoleCorrelation(
     74    const std::vector<const molecule *> &molecules);
    6875PairCorrelationMap *PairCorrelation(
    6976    const World::ConstAtomComposite &atoms_first,
    7077    const World::ConstAtomComposite &atoms_second,
    7178    const double max_distance);
    72 CorrelationToPointMap *CorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point );
    73 CorrelationToSurfaceMap *CorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell_deprecated *LC );
    74 CorrelationToPointMap *PeriodicCorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point, const int ranges[NDIM] );
    75 CorrelationToSurfaceMap *PeriodicCorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell_deprecated *LC, const int ranges[NDIM] );
    76 int GetBin ( const double value, const double BinWidth, const double BinStart );
    77 void OutputCorrelation_Header( ofstream * const file );
    78 void OutputCorrelation_Value( ofstream * const file, BinPairMap::const_iterator &runner );
    79 void OutputDipoleAngularCorrelation_Header( ofstream * const file );
    80 void OutputDipoleAngularCorrelation_Value( ofstream * const file, DipoleAngularCorrelationMap::const_iterator &runner );
    81 void OutputDipoleCorrelation_Header( ofstream * const file );
    82 void OutputDipoleCorrelation_Value( ofstream * const file, DipoleCorrelationMap::const_iterator &runner );
    83 void OutputPairCorrelation_Header( ofstream * const file );
    84 void OutputPairCorrelation_Value( ofstream * const file, PairCorrelationMap::const_iterator &runner );
    85 void OutputCorrelationToPoint_Header( ofstream * const file );
    86 void OutputCorrelationToPoint_Value( ofstream * const file, CorrelationToPointMap::const_iterator &runner );
    87 void OutputCorrelationToSurface_Header( ofstream * const file );
    88 void OutputCorrelationToSurface_Value( ofstream * const file, CorrelationToSurfaceMap::const_iterator &runner );
     79CorrelationToPointMap *CorrelationToPoint(
     80    const std::vector<const molecule *> &molecules,
     81    const std::vector<const element *> &elements,
     82    const Vector *point );
     83CorrelationToSurfaceMap *CorrelationToSurface(
     84    const std::vector<const molecule *> &molecules,
     85    const std::vector<const element *> &elements,
     86    const Tesselation * const Surface,
     87    const LinkedCell_deprecated *LC );
     88CorrelationToPointMap *PeriodicCorrelationToPoint(
     89    const std::vector<const molecule *> &molecules,
     90    const std::vector<const element *> &elements,
     91    const Vector *point, const int ranges[NDIM] );
     92CorrelationToSurfaceMap *PeriodicCorrelationToSurface(
     93    const std::vector<const molecule *> &molecules,
     94    const std::vector<const element *> &elements,
     95    const Tesselation * const Surface,
     96    const LinkedCell_deprecated *LC,
     97    const int ranges[NDIM] );
     98int GetBin (
     99    const double value,
     100    const double BinWidth,
     101    const double BinStart );
     102void OutputCorrelation_Header(
     103    ofstream * const file );
     104void OutputCorrelation_Value(
     105    ofstream * const file,
     106    BinPairMap::const_iterator &runner );
     107void OutputDipoleAngularCorrelation_Header(
     108    ofstream * const file );
     109void OutputDipoleAngularCorrelation_Value(
     110    ofstream * const file,
     111    DipoleAngularCorrelationMap::const_iterator &runner );
     112void OutputDipoleCorrelation_Header(
     113    ofstream * const file );
     114void OutputDipoleCorrelation_Value(
     115    ofstream * const file,
     116    DipoleCorrelationMap::const_iterator &runner );
     117void OutputPairCorrelation_Header(
     118    ofstream * const file );
     119void OutputPairCorrelation_Value(
     120    ofstream * const file,
     121    PairCorrelationMap::const_iterator &runner );
     122void OutputCorrelationToPoint_Header(
     123    ofstream * const file );
     124void OutputCorrelationToPoint_Value(
     125    ofstream * const file,
     126    CorrelationToPointMap::const_iterator &runner );
     127void OutputCorrelationToSurface_Header(
     128    ofstream * const file );
     129void OutputCorrelationToSurface_Value(
     130    ofstream * const file,
     131    CorrelationToSurfaceMap::const_iterator &runner );
    89132
    90133/** Searches for lowest and highest value in a given map of doubles.
  • src/Analysis/unittests/AnalysisCorrelationToPointUnitTest.cpp

    ra58c16 r99db9b  
    105105  // init maps
    106106  World::getInstance().selectAllMolecules(AllMolecules());
    107   allMolecules = World::getInstance().getSelectedMolecules();
     107  allMolecules = const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    108108  CPPUNIT_ASSERT_EQUAL( (size_t) 1, allMolecules.size());
    109109  pointmap = CorrelationToPoint( allMolecules, elements, (const Vector *)point );
  • src/Analysis/unittests/AnalysisCorrelationToPointUnitTest.hpp

    ra58c16 r99db9b  
    4141private:
    4242
    43       std::vector<molecule *> allMolecules;
     43      std::vector<const molecule *> allMolecules;
    4444      molecule *TestMolecule;
    4545      const element *hydrogen;
  • src/Analysis/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp

    ra58c16 r99db9b  
    145145
    146146  World::getInstance().selectAllMolecules(AllMolecules());
    147   allMolecules = World::getInstance().getSelectedMolecules();
     147  allMolecules = const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    148148  CPPUNIT_ASSERT_EQUAL( (size_t) 2, allMolecules.size());
    149149
  • src/Analysis/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp

    ra58c16 r99db9b  
    4949private:
    5050
    51       std::vector<molecule *> allMolecules;
     51      std::vector<const molecule *> allMolecules;
    5252      molecule *TestSurfaceMolecule;
    5353      const element *hydrogen;
  • src/Parser/TremoloParser.cpp

    ra58c16 r99db9b  
    727727}
    728728
    729 bool FormatParser< tremolo >::saveAtomsInExttypes(std::ostream &output, const std::vector<atom*> &atoms, const int id) const
     729bool FormatParser< tremolo >::saveAtomsInExttypes(
     730    std::ostream &output,
     731    const std::vector<const atom*> &atoms,
     732    const int id) const
    730733{
    731734  bool status = true;
    732735  // parse the file
    733   for (std::vector<atom *>::const_iterator iter = atoms.begin();
     736  for (std::vector<const atom *>::const_iterator iter = atoms.begin();
    734737      iter != atoms.end(); ++iter) {
    735738    const int atomicid = getLocalId((*iter)->getId());
  • src/Parser/TremoloParser.hpp

    ra58c16 r99db9b  
    8585   * @return true - all atomic ids are valid, false - one id was not set (-1)
    8686   */
    87   bool saveAtomsInExttypes(std::ostream &output, const std::vector<atom*> &atoms, const int id) const;
     87  bool saveAtomsInExttypes(
     88      std::ostream &output,
     89      const std::vector<const atom*> &atoms,
     90      const int id) const;
    8891
    8992protected:
  • src/Shapes/ShapeFactory.cpp

    ra58c16 r99db9b  
    138138    case MoleculeSurfaceType:
    139139    {
    140       const std::vector<molecule *> molecules = World::getInstance().getSelectedMolecules();
     140      const std::vector<const molecule *> molecules =
     141          const_cast<const World &>(World::getInstance()).getSelectedMolecules();
    141142      if (molecules.empty()) {
    142143        ELOG(2, "No molecule is selected, cannot factorize its bounding shape.");
  • src/World.cpp

    ra58c16 r99db9b  
    701701}
    702702
    703 const std::vector<atom *> World::getSelectedAtoms() const {
     703std::vector<atom *> World::getSelectedAtoms() {
    704704  std::vector<atom *> returnAtoms;
    705   returnAtoms.resize(countSelectedAtoms());
    706   int count = 0;
    707   for (AtomSet::const_iterator iter = selectedAtoms.begin(); iter != selectedAtoms.end(); ++iter)
    708     returnAtoms[count++] = iter->second;
     705  std::transform(
     706      selectedAtoms.begin(),
     707      selectedAtoms.end(),
     708      back_inserter(returnAtoms),
     709      _take<atom*,World::AtomSet::value_type>::get);
     710  return returnAtoms;
     711}
     712
     713std::vector<const atom *> World::getSelectedAtoms() const {
     714  std::vector<const atom *> returnAtoms;
     715  std::transform(
     716      selectedAtoms.begin(),
     717      selectedAtoms.end(),
     718      back_inserter(returnAtoms),
     719      _take<atom*,World::AtomSet::value_type>::get);
    709720  return returnAtoms;
    710721}
  • src/World.hpp

    ra58c16 r99db9b  
    429429  bool isSelected(const atom *_atom) const;
    430430  bool isAtomSelected(const atomId_t no) const;
    431   const std::vector<atom *> getSelectedAtoms() const;
     431  std::vector<atom *> getSelectedAtoms();
     432  std::vector<const atom *> getSelectedAtoms() const;
    432433
    433434  void clearMoleculeSelection();
Note: See TracChangeset for help on using the changeset viewer.