- Timestamp:
- Jul 24, 2015, 4:44:35 PM (10 years ago)
- 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)
- Location:
- src
- Files:
-
- 38 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/AnalysisAction/DipoleAngularCorrelationAction.cpp
ra58c16 r99db9b 64 64 65 65 // 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(); 68 70 69 71 // get current time step … … 75 77 World::getInstance().clearMoleculeSelection(); // TODO: This should be done in setTime or where molecules are re-done 76 78 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(); 78 81 std::map<atomId_t, Vector> ZeroVector = CalculateZeroAngularDipole(molecules); 79 82 … … 81 84 World::getInstance().clearAtomSelection(); 82 85 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(); 84 88 if (atoms.empty()) { 85 89 STATUS("Formula "+toString(DipoleFormula)+" selects no atoms."); … … 130 134 // reset to old selections 131 135 World::getInstance().clearAtomSelection(); 132 BOOST_FOREACH( atom *_atom, old_atom_selection) {136 BOOST_FOREACH(const atom *_atom, old_atom_selection) { 133 137 World::getInstance().selectAtom(_atom); 134 138 } 135 139 World::getInstance().clearMoleculeSelection(); 136 BOOST_FOREACH( molecule *_mol, old_molecule_selection) {140 BOOST_FOREACH(const molecule *_mol, old_molecule_selection) { 137 141 World::getInstance().selectMolecule(_mol); 138 142 } -
src/Actions/AnalysisAction/DipoleCorrelationAction.cpp
ra58c16 r99db9b 66 66 binoutput.open(params.binoutputname.get().string().c_str()); 67 67 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(); 69 70 STATUS("There are "+toString(molecules.size())+" selected molecules."); 70 71 ASSERT(!params.periodic.get(), "AnalysisDipoleCorrelationAction() - periodic case not implemented."); -
src/Actions/AnalysisAction/PointCorrelationAction.cpp
ra58c16 r99db9b 71 71 for(std::vector<const element *>::const_iterator iter = params.elements.get().begin(); iter != params.elements.get().end(); ++iter) 72 72 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(); 74 75 if (params.periodic.get()) 75 76 correlationmap = PeriodicCorrelationToPoint(molecules, params.elements.get(), ¶ms.Point.get(), ranges); -
src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp
ra58c16 r99db9b 96 96 97 97 // correlate 98 std::vector<molecule*> molecules = World::getInstance().getSelectedMolecules(); 98 const std::vector<const molecule*> molecules = 99 const_cast<const World &>(World::getInstance()).getSelectedMolecules(); 99 100 std::cout << "There are " << molecules.size() << " selected molecules." << std::endl; 100 101 CorrelationToSurfaceMap *surfacemap = NULL; -
src/Actions/AtomAction/RotateAroundOriginByAngleAction.cpp
ra58c16 r99db9b 76 76 } 77 77 LOG(0, "done."); 78 return ActionState::ptr(new AtomRotateAroundOriginByAngleState( World::getInstance().getSelectedAtoms(), params));78 return ActionState::ptr(new AtomRotateAroundOriginByAngleState(selectedAtoms, params)); 79 79 } 80 80 -
src/Actions/MoleculeAction/SaveTemperatureAction.cpp
ra58c16 r99db9b 60 60 ofstream output; 61 61 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(); 63 64 const size_t MDSteps = set.getMaxTrajectorySize(); 64 OutputTemperature<std::vector< atom *> > writer(set);65 OutputTemperature<std::vector<const atom *> > writer(set); 65 66 if (output.fail() || !writer((ofstream * const) &output, 0, MDSteps)) { 66 67 STATUS("File could not be written."); -
src/Actions/ParserAction/SaveSelectedAtomsAsExtTypesAction.cpp
ra58c16 r99db9b 65 65 boost::filesystem::ofstream test; 66 66 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()); 68 71 test.close(); 69 72 -
src/Actions/SelectionAction/Atoms/AllAtomsAction.cpp
ra58c16 r99db9b 54 54 /** =========== define the function ====================== */ 55 55 ActionState::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(); 57 58 LOG(1, "Selecting all atoms."); 58 59 World::getInstance().selectAllAtoms(AllAtoms()); … … 66 67 World::getInstance().clearAtomSelection(); 67 68 68 BOOST_FOREACH( atom *_atom, state->selectedAtoms)69 BOOST_FOREACH(const atom *_atom, state->selectedAtoms) 69 70 World::getInstance().selectAtom(_atom); 70 71 -
src/Actions/SelectionAction/Atoms/AllAtomsAction.def
ra58c16 r99db9b 21 21 #undef paramvalids 22 22 23 #define statetypes (std::vector< atom*>)23 #define statetypes (std::vector<const atom*>) 24 24 #define statereferences (selectedAtoms) 25 25 -
src/Actions/SelectionAction/Atoms/ClearAllAtomsAction.cpp
ra58c16 r99db9b 54 54 /** =========== define the function ====================== */ 55 55 ActionState::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(); 57 58 LOG(1, "Clearing atoms selection."); 58 59 World::getInstance().clearAtomSelection(); … … 64 65 65 66 World::getInstance().clearAtomSelection(); 66 BOOST_FOREACH( atom *_atom, state->selectedAtoms)67 BOOST_FOREACH(const atom *_atom, state->selectedAtoms) 67 68 World::getInstance().selectAtom(_atom); 68 69 -
src/Actions/SelectionAction/Atoms/ClearAllAtomsAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< atom*>)22 #define statetypes (std::vector<const atom*>) 23 23 #define statereferences (selectedAtoms) 24 24 -
src/Actions/SelectionAction/Atoms/NotAllAtomsAction.cpp
ra58c16 r99db9b 54 54 /** =========== define the function ====================== */ 55 55 ActionState::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(); 57 58 LOG(1, "Unselecting all atoms."); 58 59 World::getInstance().clearAtomSelection(); … … 65 66 66 67 World::getInstance().clearAtomSelection(); 67 BOOST_FOREACH( atom *_atom, state->unselectedAtoms)68 BOOST_FOREACH(const atom *_atom, state->unselectedAtoms) 68 69 World::getInstance().selectAtom(_atom); 69 70 -
src/Actions/SelectionAction/Atoms/NotAllAtomsAction.def
ra58c16 r99db9b 21 21 #undef paramvalids 22 22 23 #define statetypes (std::vector< atom*>)23 #define statetypes (std::vector<const atom*>) 24 24 #define statereferences (unselectedAtoms) 25 25 -
src/Actions/SelectionAction/Atoms/PopAtomsAction.cpp
ra58c16 r99db9b 50 50 ActionState::ptr SelectionPopAtomsAction::performCall() { 51 51 // 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(); 58 54 LOG(1, "Popping atom selection."); 59 55 World::getInstance().popAtomSelection(); 60 return ActionState::ptr(new SelectionPopAtomsState(selected _atomids, params));56 return ActionState::ptr(new SelectionPopAtomsState(selectedAtoms, params)); 61 57 } 62 58 … … 67 63 68 64 // 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); 72 68 73 69 return ActionState::ptr(_state); -
src/Actions/SelectionAction/Atoms/PopAtomsAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< atomId_t>)23 #define statereferences (selected _atomids)22 #define statetypes (std::vector<const atom *>) 23 #define statereferences (selectedAtoms) 24 24 25 25 // some defines for all the names, you may use ACTION, STATE and PARAMS -
src/Actions/SelectionAction/Molecules/AllMoleculesAction.cpp
ra58c16 r99db9b 55 55 /** =========== define the function ====================== */ 56 56 ActionState::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(); 58 59 LOG(1, "Selecting all molecules."); 59 60 World::getInstance().selectAllMolecules(AllMolecules()); … … 66 67 67 68 World::getInstance().clearMoleculeSelection(); 68 BOOST_FOREACH( molecule *_mol, state->selectedMolecules)69 BOOST_FOREACH(const molecule *_mol, state->selectedMolecules) 69 70 World::getInstance().selectMolecule(_mol); 70 71 -
src/Actions/SelectionAction/Molecules/AllMoleculesAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< molecule*>)22 #define statetypes (std::vector<const molecule*>) 23 23 #define statereferences (selectedMolecules) 24 24 -
src/Actions/SelectionAction/Molecules/ClearAllMoleculesAction.cpp
ra58c16 r99db9b 54 54 /** =========== define the function ====================== */ 55 55 ActionState::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(); 57 58 LOG(1, "Clearing molecule selection."); 58 59 World::getInstance().clearMoleculeSelection(); … … 65 66 66 67 World::getInstance().clearMoleculeSelection(); 67 BOOST_FOREACH( molecule *_mol, state->selectedMolecules)68 BOOST_FOREACH(const molecule *_mol, state->selectedMolecules) 68 69 World::getInstance().selectMolecule(_mol); 69 70 -
src/Actions/SelectionAction/Molecules/ClearAllMoleculesAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< molecule*>)22 #define statetypes (std::vector<const molecule*>) 23 23 #define statereferences (selectedMolecules) 24 24 -
src/Actions/SelectionAction/Molecules/MoleculeOfAtomAction.cpp
ra58c16 r99db9b 54 54 /** =========== define the function ====================== */ 55 55 ActionState::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(); 57 58 LOG(1, "Selecting molecule to currently selected atoms: " << World::getInstance().countSelectedAtoms()); 58 59 World::getInstance().selectAllMolecules(MoleculesByAtomSelection()); … … 65 66 66 67 World::getInstance().clearMoleculeSelection(); 67 BOOST_FOREACH( molecule *_mol, state->selectedMolecules)68 BOOST_FOREACH(const molecule *_mol, state->selectedMolecules) 68 69 World::getInstance().selectMolecule(_mol); 69 70 -
src/Actions/SelectionAction/Molecules/MoleculeOfAtomAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< molecule*>)22 #define statetypes (std::vector<const molecule*>) 23 23 #define statereferences (selectedMolecules) 24 24 -
src/Actions/SelectionAction/Molecules/NotAllMoleculesAction.cpp
ra58c16 r99db9b 54 54 /** =========== define the function ====================== */ 55 55 ActionState::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(); 57 58 LOG(1, "Unselecting all molecules."); 58 59 World::getInstance().clearMoleculeSelection(); … … 65 66 66 67 World::getInstance().clearMoleculeSelection(); 67 BOOST_FOREACH( molecule *_mol, state->unselectedMolecules)68 BOOST_FOREACH(const molecule *_mol, state->selectedMolecules) 68 69 World::getInstance().selectMolecule(_mol); 69 70 -
src/Actions/SelectionAction/Molecules/NotAllMoleculesAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< molecule*>)23 #define statereferences ( unselectedMolecules)22 #define statetypes (std::vector<const molecule*>) 23 #define statereferences (selectedMolecules) 24 24 25 25 // some defines for all the names, you may use ACTION, STATE and PARAMS -
src/Actions/SelectionAction/Molecules/NotMoleculeOfAtomAction.cpp
ra58c16 r99db9b 54 54 /** =========== define the function ====================== */ 55 55 ActionState::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(); 57 58 LOG(1, "Unselecting molecule to currently selected atoms."); 58 59 World::getInstance().unselectAllMolecules(MoleculesByAtomSelection()); 59 60 LOG(0, World::getInstance().countSelectedMolecules() << " molecules remain selected."); 60 return ActionState::ptr(new SelectionNotMoleculeOfAtomState( unselectedMolecules, params));61 return ActionState::ptr(new SelectionNotMoleculeOfAtomState(selectedMolecules, params)); 61 62 } 62 63 … … 65 66 66 67 World::getInstance().clearMoleculeSelection(); 67 BOOST_FOREACH( molecule *_mol, state->unselectedMolecules)68 BOOST_FOREACH(const molecule *_mol, state->selectedMolecules) 68 69 World::getInstance().selectMolecule(_mol); 69 70 -
src/Actions/SelectionAction/Molecules/NotMoleculeOfAtomAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< molecule*>)23 #define statereferences ( unselectedMolecules)22 #define statetypes (std::vector<const molecule*>) 23 #define statereferences (selectedMolecules) 24 24 25 25 // some defines for all the names, you may use ACTION, STATE and PARAMS -
src/Actions/SelectionAction/Molecules/PopMoleculesAction.cpp
ra58c16 r99db9b 50 50 ActionState::ptr SelectionPopMoleculesAction::performCall() { 51 51 // 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(); 58 54 LOG(1, "Popping molecule selection."); 59 55 World::getInstance().popMoleculeSelection(); 60 return ActionState::ptr(new SelectionPopMoleculesState(selected _molids, params));56 return ActionState::ptr(new SelectionPopMoleculesState(selectedMolecules, params)); 61 57 } 62 58 … … 66 62 World::getInstance().pushMoleculeSelection(); 67 63 // 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); 71 67 72 68 return ActionState::ptr(_state); -
src/Actions/SelectionAction/Molecules/PopMoleculesAction.def
ra58c16 r99db9b 20 20 #undef paramvalids 21 21 22 #define statetypes (std::vector< moleculeId_t>)23 #define statereferences (selected _molids)22 #define statetypes (std::vector<const molecule *>) 23 #define statereferences (selectedMolecules) 24 24 25 25 // some defines for all the names, you may use ACTION, STATE and PARAMS -
src/Analysis/analysis_correlation.cpp
ra58c16 r99db9b 125 125 * \return range with [min, max] 126 126 */ 127 range<size_t> getMaximumTrajectoryBounds(const std::vector< atom *> &atoms)127 range<size_t> getMaximumTrajectoryBounds(const std::vector<const atom *> &atoms) 128 128 { 129 129 // get highest trajectory size … … 133 133 size_t max_timesteps = std::numeric_limits<size_t>::min(); 134 134 size_t min_timesteps = std::numeric_limits<size_t>::max(); 135 BOOST_FOREACH( atom *_atom, atoms) {135 BOOST_FOREACH(const atom *_atom, atoms) { 136 136 if (_atom->getTrajectorySize() > max_timesteps) 137 137 max_timesteps = _atom->getTrajectorySize(); … … 149 149 * \return map with orientation vector for each atomic id given in \a atoms. 150 150 */ 151 std::map<atomId_t, Vector> CalculateZeroAngularDipole(const std::vector< molecule *> &molecules)151 std::map<atomId_t, Vector> CalculateZeroAngularDipole(const std::vector<const molecule *> &molecules) 152 152 { 153 153 // get zero orientation for each molecule. 154 154 LOG(0,"STATUS: Calculating dipoles for current time step ..."); 155 155 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) 164 159 ZeroVector[(*iter)->getId()] = Dipole; 165 160 LOG(2,"INFO: Zero alignment for molecule " << _mol->getId() << " is " << Dipole); … … 205 200 World::getInstance().clearMoleculeSelection(); 206 201 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(); 208 204 LOG(1,"INFO: There are " << molecules.size() << " molecules for time step " << timestep << "."); 209 205 … … 212 208 size_t i=0; 213 209 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()); 219 212 LOG(3,"INFO: Dipole vector at time step " << timestep << " for for molecule " 220 213 << _mol->getId() << " is " << Dipole); 221 214 // 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) { 224 217 if (!ZeroVector.count((*iter)->getId())) 225 218 break; 226 219 } 227 if (iter != const_cast<const molecule *>(_mol)->end()) {220 if (iter != _mol->end()) { 228 221 ELOG(2, "Skipping molecule " << _mol->getName() << " as not all atoms have a valid zeroVector."); 229 222 ++Counter_rejections; 230 223 continue; 231 224 } else 232 iter = const_cast<const molecule *>(_mol)->begin();225 iter = _mol->begin(); 233 226 std::map<atomId_t, Vector>::const_iterator zeroValue = ZeroVector.find((*iter)->getId()); //due to iter is const 234 227 double angle = 0.; … … 274 267 * \return Map of doubles with values the pair of the two atoms. 275 268 */ 276 DipoleCorrelationMap *DipoleCorrelation(std::vector<molecule *> &molecules) 269 DipoleCorrelationMap *DipoleCorrelation( 270 const std::vector<const molecule *> &molecules) 277 271 { 278 272 Info FunctionInfo(__func__); … … 286 280 } 287 281 288 for (std::vector< molecule *>::const_iterator MolWalker = molecules.begin();282 for (std::vector<const molecule *>::const_iterator MolWalker = molecules.begin(); 289 283 MolWalker != molecules.end(); ++MolWalker) { 290 284 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(); 298 288 ++MolOtherWalker) { 299 289 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()); 303 291 const double angle = Dipole.Angle(OtherDipole) * (180./M_PI); 304 292 LOG(1, "Angle is " << angle << "."); … … 409 397 * \return Map of dobules with values as pairs of atom and the vector 410 398 */ 411 CorrelationToPointMap *CorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point ) 399 CorrelationToPointMap *CorrelationToPoint( 400 const std::vector<const molecule *> &molecules, 401 const std::vector<const element *> &elements, 402 const Vector *point ) 412 403 { 413 404 Info FunctionInfo(__func__); … … 421 412 } 422 413 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++) { 424 417 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) { 428 419 LOG(3, "Current atom is " << **iter << "."); 429 420 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) … … 453 444 * \return Map of dobules with values as pairs of atom and the vector 454 445 */ 455 CorrelationToPointMap *PeriodicCorrelationToPoint(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Vector *point, const int ranges[NDIM] ) 446 CorrelationToPointMap *PeriodicCorrelationToPoint( 447 const std::vector<const molecule *> &molecules, 448 const std::vector<const element *> &elements, 449 const Vector *point, 450 const int ranges[NDIM] ) 456 451 { 457 452 Info FunctionInfo(__func__); … … 467 462 } 468 463 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++) { 470 467 RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM(); 471 468 RealSpaceMatrix FullInverseMatrix = World::getInstance().getDomain().getMinv(); 472 469 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) { 476 471 LOG(3, "Current atom is " << **iter << "."); 477 472 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) … … 509 504 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest 510 505 */ 511 CorrelationToSurfaceMap *CorrelationToSurface(std::vector<molecule *> &molecules, const std::vector<const element *> &elements, const Tesselation * const Surface, const LinkedCell_deprecated *LC ) 506 CorrelationToSurfaceMap *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 ) 512 511 { 513 512 Info FunctionInfo(__func__); … … 522 521 } 523 522 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++) { 525 526 LOG(2, "Current molecule is " << (*MolWalker)->name << "."); 526 527 if ((*MolWalker)->empty()) 527 528 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) { 531 530 LOG(3, "\tCurrent atom is " << *(*iter) << "."); 532 531 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) … … 563 562 * \return Map of doubles with values as pairs of atom and the BoundaryTriangleSet that's closest 564 563 */ 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] ) 564 CorrelationToSurfaceMap *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] ) 566 570 { 567 571 Info FunctionInfo(__func__); … … 581 585 double ShortestDistance = 0.; 582 586 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++) { 584 590 RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM(); 585 591 RealSpaceMatrix FullInverseMatrix = World::getInstance().getDomain().getMinv(); 586 592 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) { 590 594 LOG(3, "Current atom is " << **iter << "."); 591 595 for (vector<const element *>::const_iterator type = elements.begin(); type != elements.end(); ++type) -
src/Analysis/analysis_correlation.hpp
ra58c16 r99db9b 61 61 /********************************************** declarations *******************************/ 62 62 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); 63 range<size_t> getMaximumTrajectoryBounds( 64 const std::vector<const atom *> &atoms); 65 std::map<atomId_t, Vector> CalculateZeroAngularDipole( 66 const std::vector<const molecule *> &molecules); 67 68 DipoleAngularCorrelationMap *DipoleAngularCorrelation( 69 const Formula &DipoleFormula, 70 const size_t timestep, 71 const std::map<atomId_t, Vector> &ZeroVector, 72 const enum ResetWorldTime DoTimeReset = DontResetTime); 73 DipoleCorrelationMap *DipoleCorrelation( 74 const std::vector<const molecule *> &molecules); 68 75 PairCorrelationMap *PairCorrelation( 69 76 const World::ConstAtomComposite &atoms_first, 70 77 const World::ConstAtomComposite &atoms_second, 71 78 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 ); 79 CorrelationToPointMap *CorrelationToPoint( 80 const std::vector<const molecule *> &molecules, 81 const std::vector<const element *> &elements, 82 const Vector *point ); 83 CorrelationToSurfaceMap *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 ); 88 CorrelationToPointMap *PeriodicCorrelationToPoint( 89 const std::vector<const molecule *> &molecules, 90 const std::vector<const element *> &elements, 91 const Vector *point, const int ranges[NDIM] ); 92 CorrelationToSurfaceMap *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] ); 98 int GetBin ( 99 const double value, 100 const double BinWidth, 101 const double BinStart ); 102 void OutputCorrelation_Header( 103 ofstream * const file ); 104 void OutputCorrelation_Value( 105 ofstream * const file, 106 BinPairMap::const_iterator &runner ); 107 void OutputDipoleAngularCorrelation_Header( 108 ofstream * const file ); 109 void OutputDipoleAngularCorrelation_Value( 110 ofstream * const file, 111 DipoleAngularCorrelationMap::const_iterator &runner ); 112 void OutputDipoleCorrelation_Header( 113 ofstream * const file ); 114 void OutputDipoleCorrelation_Value( 115 ofstream * const file, 116 DipoleCorrelationMap::const_iterator &runner ); 117 void OutputPairCorrelation_Header( 118 ofstream * const file ); 119 void OutputPairCorrelation_Value( 120 ofstream * const file, 121 PairCorrelationMap::const_iterator &runner ); 122 void OutputCorrelationToPoint_Header( 123 ofstream * const file ); 124 void OutputCorrelationToPoint_Value( 125 ofstream * const file, 126 CorrelationToPointMap::const_iterator &runner ); 127 void OutputCorrelationToSurface_Header( 128 ofstream * const file ); 129 void OutputCorrelationToSurface_Value( 130 ofstream * const file, 131 CorrelationToSurfaceMap::const_iterator &runner ); 89 132 90 133 /** Searches for lowest and highest value in a given map of doubles. -
src/Analysis/unittests/AnalysisCorrelationToPointUnitTest.cpp
ra58c16 r99db9b 105 105 // init maps 106 106 World::getInstance().selectAllMolecules(AllMolecules()); 107 allMolecules = World::getInstance().getSelectedMolecules();107 allMolecules = const_cast<const World &>(World::getInstance()).getSelectedMolecules(); 108 108 CPPUNIT_ASSERT_EQUAL( (size_t) 1, allMolecules.size()); 109 109 pointmap = CorrelationToPoint( allMolecules, elements, (const Vector *)point ); -
src/Analysis/unittests/AnalysisCorrelationToPointUnitTest.hpp
ra58c16 r99db9b 41 41 private: 42 42 43 std::vector< molecule *> allMolecules;43 std::vector<const molecule *> allMolecules; 44 44 molecule *TestMolecule; 45 45 const element *hydrogen; -
src/Analysis/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
ra58c16 r99db9b 145 145 146 146 World::getInstance().selectAllMolecules(AllMolecules()); 147 allMolecules = World::getInstance().getSelectedMolecules();147 allMolecules = const_cast<const World &>(World::getInstance()).getSelectedMolecules(); 148 148 CPPUNIT_ASSERT_EQUAL( (size_t) 2, allMolecules.size()); 149 149 -
src/Analysis/unittests/AnalysisCorrelationToSurfaceUnitTest.hpp
ra58c16 r99db9b 49 49 private: 50 50 51 std::vector< molecule *> allMolecules;51 std::vector<const molecule *> allMolecules; 52 52 molecule *TestSurfaceMolecule; 53 53 const element *hydrogen; -
src/Parser/TremoloParser.cpp
ra58c16 r99db9b 727 727 } 728 728 729 bool FormatParser< tremolo >::saveAtomsInExttypes(std::ostream &output, const std::vector<atom*> &atoms, const int id) const 729 bool FormatParser< tremolo >::saveAtomsInExttypes( 730 std::ostream &output, 731 const std::vector<const atom*> &atoms, 732 const int id) const 730 733 { 731 734 bool status = true; 732 735 // parse the file 733 for (std::vector< atom *>::const_iterator iter = atoms.begin();736 for (std::vector<const atom *>::const_iterator iter = atoms.begin(); 734 737 iter != atoms.end(); ++iter) { 735 738 const int atomicid = getLocalId((*iter)->getId()); -
src/Parser/TremoloParser.hpp
ra58c16 r99db9b 85 85 * @return true - all atomic ids are valid, false - one id was not set (-1) 86 86 */ 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; 88 91 89 92 protected: -
src/Shapes/ShapeFactory.cpp
ra58c16 r99db9b 138 138 case MoleculeSurfaceType: 139 139 { 140 const std::vector<molecule *> molecules = World::getInstance().getSelectedMolecules(); 140 const std::vector<const molecule *> molecules = 141 const_cast<const World &>(World::getInstance()).getSelectedMolecules(); 141 142 if (molecules.empty()) { 142 143 ELOG(2, "No molecule is selected, cannot factorize its bounding shape."); -
src/World.cpp
ra58c16 r99db9b 701 701 } 702 702 703 const std::vector<atom *> World::getSelectedAtoms() const{703 std::vector<atom *> World::getSelectedAtoms() { 704 704 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 713 std::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); 709 720 return returnAtoms; 710 721 } -
src/World.hpp
ra58c16 r99db9b 429 429 bool isSelected(const atom *_atom) const; 430 430 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; 432 433 433 434 void clearMoleculeSelection();
Note:
See TracChangeset
for help on using the changeset viewer.