Changeset 781408 for src/Fragmentation/Summation
- Timestamp:
- May 3, 2013, 9:44:43 AM (12 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:
- 5281ff
- Parents:
- e4721d3
- git-author:
- Frederik Heber <heber@…> (05/01/13 07:10:04)
- git-committer:
- Frederik Heber <heber@…> (05/03/13 09:44:43)
- Location:
- src/Fragmentation/Summation
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Fragmentation/Summation/IndexSet.hpp
re4721d3 r781408 49 49 }; 50 50 51 inline bool operator==(const IndexSet::ptr &a, const IndexSet::ptr &b) 52 { 53 return (*a == *b); 54 } 55 56 inline bool operator!=(const IndexSet::ptr &a, const IndexSet::ptr &b) 57 { 58 return (*a != *b); 59 } 60 61 inline bool operator<(const IndexSet::ptr &a, const IndexSet::ptr &b) 62 { 63 return (*a < *b); 64 } 65 66 inline bool operator>(const IndexSet::ptr &a, const IndexSet::ptr &b) 67 { 68 return (*a > *b); 69 } 70 51 71 std::ostream & operator<<(std::ostream &ost, const IndexSet &indexset); 52 72 -
src/Fragmentation/Summation/IndexSetContainer.cpp
re4721d3 r781408 61 61 } 62 62 63 IndexSet::ptr IndexSetContainer::createSuperSet(const std::vector<IndexSet> &_container) const 64 { 65 // create superset 66 IndexSet::ptr _AllIndices(new IndexSet); 67 for (std::vector<IndexSet>::const_iterator iter = _container.begin(); 68 iter != _container.end(); ++iter) 69 for(IndexSet::const_iterator keyiter = (*iter).begin(); 70 keyiter != (*iter).end(); ++keyiter) { 71 if (*keyiter != -1) 72 _AllIndices->insert((Index_t)*keyiter); 73 } 74 LOG(2, "DEBUG: AllIndices is " << *_AllIndices << "."); 75 76 return _AllIndices; 77 } 78 79 IndexSet::ptr IndexSetContainer::createSuperSet(const std::vector<IndexSet::ptr> &_container) const 80 { 81 // create superset 82 IndexSet::ptr _AllIndices(new IndexSet); 83 for (std::vector<IndexSet::ptr>::const_iterator iter = _container.begin(); 84 iter != _container.end(); ++iter) 85 for(IndexSet::const_iterator keyiter = (*iter)->begin(); 86 keyiter != (*iter)->end(); ++keyiter) { 87 if (*keyiter != -1) 88 _AllIndices->insert((Index_t)*keyiter); 89 } 90 LOG(2, "DEBUG: AllIndices is " << *_AllIndices << "."); 91 92 return _AllIndices; 93 } 94 63 95 IndexSetContainer::IndexSetContainer(const KeySetsContainer &_keysets) : 64 96 AllIndices(createSuperSet(_keysets)) -
src/Fragmentation/Summation/IndexSetContainer.hpp
re4721d3 r781408 41 41 typedef boost::shared_ptr<IndexSetContainer> ptr; 42 42 43 /** Constructor from a n unsorted vector of instances.43 /** Constructor from a sorted vector of instances. 44 44 * 45 * @param _container unsorted vector of instances45 * @param _container sorted vector of instances 46 46 */ 47 IndexSetContainer(const SortedVector<IndexSet>::Container_t &_container) : 48 SortedVector<IndexSet>(_container) 49 {} 47 IndexSetContainer(const SortedVector<IndexSet>::Container_t &_container); 50 48 51 49 /** Constructor from an unsorted vector of instances. … … 53 51 * @param _container unsorted vector of instances 54 52 */ 55 IndexSetContainer(const std::vector<IndexSet> &_container) : 56 SortedVector<IndexSet>(_container) 57 {} 53 IndexSetContainer(const std::vector<IndexSet> &_container); 58 54 59 55 /** Constructor from a single instance. … … 61 57 * @param _instance single instance 62 58 */ 63 IndexSetContainer(IndexSet::ptr &_instance) : 64 SortedVector<IndexSet>(_instance) 65 {} 59 IndexSetContainer(IndexSet::ptr &_instance); 66 60 67 61 /** Conversion constructor from a KeySetConntainer. … … 100 94 IndexSet::ptr createSuperSet(const KeySetsContainer &_keysets) const; 101 95 96 /** Helper function to create the super set out of a vector of IndexSet's. 97 * 98 * @param _container container with IndexSet's to construct super set for 99 * @return super set created from all IndexSet's in \a _container 100 */ 101 IndexSet::ptr createSuperSet(const std::vector<IndexSet> &_container) const; 102 103 /** Helper function to create the super set out of a vector of IndexSet's. 104 * 105 * @param _container container with IndexSet's to construct super set for 106 * @return super set created from all IndexSet's in \a _container 107 */ 108 IndexSet::ptr createSuperSet(const std::vector<IndexSet::ptr> &_container) const; 109 102 110 //!> super set that contains all present index sets 103 111 IndexSet::ptr AllIndices; 104 112 }; 113 114 inline 115 IndexSetContainer::IndexSetContainer(const SortedVector<IndexSet>::Container_t &_container) : 116 SortedVector<IndexSet>(_container), 117 AllIndices(createSuperSet(_container)) 118 {} 119 120 inline 121 IndexSetContainer::IndexSetContainer(const std::vector<IndexSet> &_container) : 122 SortedVector<IndexSet>(_container), 123 AllIndices(createSuperSet(_container)) 124 {} 125 126 inline 127 IndexSetContainer::IndexSetContainer(IndexSet::ptr &_instance) : 128 SortedVector<IndexSet>(_instance), 129 AllIndices(_instance) 130 {} 105 131 106 132 //!> typedef for IndexSet instance stored as shared_ptr in SortedVector
Note:
See TracChangeset
for help on using the changeset viewer.