Action_Thermostats
        Add_AtomRandomPerturbation
        Add_SelectAtomByNameAction
        Adding_Graph_to_ChangeBondActions
        Adding_MD_integration_tests
        Adding_StructOpt_integration_tests
        AutomationFragmentation_failures
        Candidate_v1.6.1
        Candidate_v1.7.0
        ChangeBugEmailaddress
        ChemicalSpaceEvaluator
        EmpiricalPotential_contain_HomologyGraph_documentation
        Enhance_userguide
        Enhanced_StructuralOptimization
        Enhanced_StructuralOptimization_continued
        Example_ManyWaysToTranslateAtom
        Exclude_Hydrogens_annealWithBondGraph
        Fix_Verbose_Codepatterns
        ForceAnnealing_oldresults
        ForceAnnealing_with_BondGraph
        ForceAnnealing_with_BondGraph_continued
        ForceAnnealing_with_BondGraph_continued_betteresults
        ForceAnnealing_with_BondGraph_contraction-expansion
        GeometryObjects
        Gui_displays_atomic_force_velocity
        IndependentFragmentGrids_IntegrationTest
        JobMarket_RobustOnKillsSegFaults
        JobMarket_StableWorkerPool
        PythonUI_with_named_parameters
        QtGui_reactivate_TimeChanged_changes
        Recreated_GuiChecks
        StoppableMakroAction
        TremoloParser_IncreasedPrecision
        TremoloParser_MultipleTimesteps
        stable
      
      
        
          | Last change
 on this file since 5776cb 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.3 KB | 
      
      
| Rev | Line |  | 
|---|
| [c42a43] | 1 | /* | 
|---|
|  | 2 | * ValuePrinter.hpp | 
|---|
|  | 3 | * | 
|---|
|  | 4 | *  Created on: Aug 3, 2012 | 
|---|
|  | 5 | *      Author: heber | 
|---|
|  | 6 | */ | 
|---|
|  | 7 |  | 
|---|
|  | 8 | #ifndef VALUEPRINTER_HPP_ | 
|---|
|  | 9 | #define VALUEPRINTER_HPP_ | 
|---|
|  | 10 |  | 
|---|
|  | 11 |  | 
|---|
|  | 12 | // include config.h | 
|---|
|  | 13 | #ifdef HAVE_CONFIG_H | 
|---|
|  | 14 | #include <config.h> | 
|---|
|  | 15 | #endif | 
|---|
|  | 16 |  | 
|---|
|  | 17 | #include <boost/fusion/container/map.hpp> | 
|---|
| [27afbf] | 18 | #include <iomanip> | 
|---|
|  | 19 | #include <sstream> | 
|---|
| [c42a43] | 20 | #include <string> | 
|---|
|  | 21 |  | 
|---|
|  | 22 | #include "CodePatterns/toString.hpp" | 
|---|
|  | 23 |  | 
|---|
|  | 24 | /** ValuePrinter prints the value for one row in a table of values each associated to a | 
|---|
|  | 25 | * specific boost::fusion-style key \a MapKey. | 
|---|
|  | 26 | * | 
|---|
|  | 27 | * This is made such that we may use boost::mpl::for_each to quickly create | 
|---|
|  | 28 | * the value line if specialized printName()s and a boost::fusion::vector | 
|---|
|  | 29 | * containing all these keys is present | 
|---|
|  | 30 | */ | 
|---|
| [27afbf] | 31 | template <typename MapType, int numprecision=5> | 
|---|
| [c42a43] | 32 | struct ValuePrinter { | 
|---|
| [47cee7] | 33 | ValuePrinter(const MapType &_instance) : | 
|---|
| [c42a43] | 34 | instance(_instance), | 
|---|
| [47cee7] | 35 | value("") | 
|---|
| [c42a43] | 36 | {} | 
|---|
|  | 37 |  | 
|---|
|  | 38 | template <typename MapKey> | 
|---|
|  | 39 | void operator()(MapKey &) { | 
|---|
|  | 40 | //typedef typename boost::fusion::result_of::value_at_key<MapType, MapKey>::type MapValue; | 
|---|
| [27afbf] | 41 | std::stringstream valuestream; | 
|---|
|  | 42 | valuestream << std::setprecision(numprecision) << boost::fusion::at_key<MapKey>(instance); | 
|---|
|  | 43 | value += std::string("\t") + valuestream.str(); | 
|---|
| [c42a43] | 44 | } | 
|---|
|  | 45 |  | 
|---|
|  | 46 | const std::string &get() const { | 
|---|
|  | 47 | return value; | 
|---|
|  | 48 | } | 
|---|
|  | 49 |  | 
|---|
|  | 50 | private: | 
|---|
|  | 51 | const MapType &instance; | 
|---|
|  | 52 | std::string value; | 
|---|
|  | 53 | }; | 
|---|
|  | 54 |  | 
|---|
|  | 55 |  | 
|---|
|  | 56 | #endif /* VALUEPRINTER_HPP_ */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.