Action_Thermostats
        Add_AtomRandomPerturbation
        Add_FitFragmentPartialChargesAction
        Add_RotateAroundBondAction
        Add_SelectAtomByNameAction
        Adding_Graph_to_ChangeBondActions
        Adding_MD_integration_tests
        Adding_StructOpt_integration_tests
        Automaking_mpqc_open
        AutomationFragmentation_failures
        Candidate_v1.5.4
        Candidate_v1.6.0
        Candidate_v1.6.1
        Candidate_v1.7.0
        ChangeBugEmailaddress
        ChangingTestPorts
        ChemicalSpaceEvaluator
        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_ChargeSampling_PBC
        Fix_ChronosMutex
        Fix_FitPartialCharges
        Fix_FitPotential_needs_atomicnumbers
        Fix_ForceAnnealing
        Fix_IndependentFragmentGrids
        Fix_ParseParticles
        Fix_ParseParticles_split_forward_backward_Actions
        Fix_StatusMsg
        Fix_StepWorldTime_single_argument
        Fix_Verbose_Codepatterns
        ForceAnnealing_goodresults
        ForceAnnealing_oldresults
        ForceAnnealing_tocheck
        ForceAnnealing_with_BondGraph
        ForceAnnealing_with_BondGraph_continued
        ForceAnnealing_with_BondGraph_continued_betteresults
        ForceAnnealing_with_BondGraph_contraction-expansion
        GeometryObjects
        Gui_displays_atomic_force_velocity
        IndependentFragmentGrids
        IndependentFragmentGrids_IndividualZeroInstances
        IndependentFragmentGrids_IntegrationTest
        IndependentFragmentGrids_Sole_NN_Calculation
        JobMarket_RobustOnKillsSegFaults
        JobMarket_StableWorkerPool
        JobMarket_unresolvable_hostname_fix
        ODR_violation_mpqc_open
        PartialCharges_OrthogonalSummation
        PythonUI_with_named_parameters
        QtGui_reactivate_TimeChanged_changes
        Recreated_GuiChecks
        RotateToPrincipalAxisSystem_UndoRedo
        SaturateAtoms_findBestMatching
        StoppableMakroAction
        Subpackage_CodePatterns
        Subpackage_JobMarket
        Subpackage_LinearAlgebra
        Subpackage_levmar
        Subpackage_mpqc_open
        Subpackage_vmg
        ThirdParty_MPQC_rebuilt_buildsystem
        TrajectoryDependenant_MaxOrder
        TremoloParser_IncreasedPrecision
        TremoloParser_MultipleTimesteps
        Ubuntu_1604_changes
        stable
      
      
        
          | Last change
 on this file since 653cea was             47cee7, checked in by Frederik Heber <heber@…>, 12 years ago | 
        
          | 
Writing out energy file with value and contribution per index set
 placed in printReceivedShortResultsPerIndex().
added writeIndexedTable which writes per indexset not per level.
HeaderPrinter is not initialized with some string anymore.
ValuePrinter does not write the level anymore.
these are now done in write(Indexed)Table.
TESTFIX: Added BondFragment_IndexedEnergy.dat diff to regression tests.
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            1.7 KB | 
      
      
| Rev | Line |  | 
|---|
| [27afbf] | 1 | /* | 
|---|
|  | 2 | * writeTable.hpp | 
|---|
|  | 3 | * | 
|---|
|  | 4 | *  Created on: Aug 3, 2012 | 
|---|
|  | 5 | *      Author: heber | 
|---|
|  | 6 | */ | 
|---|
|  | 7 |  | 
|---|
|  | 8 | #ifndef WRITETABLE_HPP_ | 
|---|
|  | 9 | #define WRITETABLE_HPP_ | 
|---|
|  | 10 |  | 
|---|
|  | 11 |  | 
|---|
|  | 12 | // include config.h | 
|---|
|  | 13 | #ifdef HAVE_CONFIG_H | 
|---|
|  | 14 | #include <config.h> | 
|---|
|  | 15 | #endif | 
|---|
|  | 16 |  | 
|---|
|  | 17 | #include <boost/mpl/for_each.hpp> | 
|---|
|  | 18 |  | 
|---|
|  | 19 | #include <string> | 
|---|
|  | 20 | #include <sstream> | 
|---|
|  | 21 | #include <vector> | 
|---|
|  | 22 |  | 
|---|
|  | 23 | #include "Fragmentation/Summation/HeaderPrinter.hpp" | 
|---|
|  | 24 | #include "Fragmentation/Summation/ValuePrinter.hpp" | 
|---|
|  | 25 |  | 
|---|
|  | 26 | /** Templated functor to write from a given vector of summed up results the | 
|---|
|  | 27 | * table with decent header line. | 
|---|
|  | 28 | * | 
|---|
|  | 29 | * @param results vector of results of MapType | 
|---|
|  | 30 | * @param MaxLevel print values up till this level | 
|---|
|  | 31 | * @return string of the resulting table | 
|---|
|  | 32 | */ | 
|---|
|  | 33 | template <typename MapType, typename VectorType, int numprecision=10> | 
|---|
|  | 34 | struct writeTable{ | 
|---|
|  | 35 | std::string operator()(const std::vector<MapType> &results, const size_t MaxLevel, const size_t StartLevel=1) | 
|---|
|  | 36 | { | 
|---|
|  | 37 | std::stringstream resultstream; | 
|---|
| [bf12d1] | 38 |  | 
|---|
|  | 39 | /// create header line for energy | 
|---|
| [47cee7] | 40 | resultstream << "level"; | 
|---|
|  | 41 | HeaderPrinter header; | 
|---|
| [27afbf] | 42 | boost::mpl::for_each<VectorType>(boost::ref(header)); | 
|---|
|  | 43 | resultstream << header.get() << std::endl; | 
|---|
|  | 44 |  | 
|---|
| [bf12d1] | 45 | /// print values per line | 
|---|
|  | 46 | if (MaxLevel >= StartLevel) { | 
|---|
|  | 47 | ASSERT( results.size() >= (MaxLevel-StartLevel), | 
|---|
|  | 48 | "writeTable<M,V>() - results has insufficient size."); | 
|---|
|  | 49 | for (size_t level = StartLevel; level <= MaxLevel; ++level) { | 
|---|
| [47cee7] | 50 | resultstream << level; | 
|---|
|  | 51 | ValuePrinter<MapType, numprecision> values(results[level-1]); | 
|---|
| [bf12d1] | 52 | boost::mpl::for_each<VectorType>(boost::ref(values)); | 
|---|
|  | 53 | resultstream << values.get() << std::endl; | 
|---|
|  | 54 | } | 
|---|
|  | 55 | } else { | 
|---|
|  | 56 | ELOG(2, "writeTable does not output as MaxLevel(" << MaxLevel | 
|---|
|  | 57 | << ") < StartLevel(" << StartLevel << "."); | 
|---|
| [27afbf] | 58 | } | 
|---|
|  | 59 | return resultstream.str(); | 
|---|
|  | 60 | } | 
|---|
|  | 61 | }; | 
|---|
|  | 62 |  | 
|---|
|  | 63 |  | 
|---|
|  | 64 | #endif /* WRITETABLE_HPP_ */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.