Program Listing for File thread_artifacts_dump.hpp

Return to documentation for file (include/dish2/run/thread_artifacts_dump.hpp)

#pragma once
#ifndef DISH2_RUN_THREAD_ARTIFACTS_DUMP_HPP_INCLUDE
#define DISH2_RUN_THREAD_ARTIFACTS_DUMP_HPP_INCLUDE

#include <limits>

#include "../../../third-party/conduit/include/uitsl/countdown/Timer.hpp"

#include "../config/cfg.hpp"
#include "../config/thread_idx.hpp"
#include "../record/dump_abundance_lowest_root_genome.hpp"
#include "../record/dump_abundance_highest_root_genome.hpp"
#include "../record/dump_abundance_over_all_roots_genome.hpp"
#include "../record/dump_arbitrary_lowest_root_genome.hpp"
#include "../record/dump_arbitrary_over_all_roots_genome.hpp"
#include "../record/dump_population.hpp"
#include "../world/ThreadWorld.hpp"

namespace dish2 {

// data collection tasks that must be run only once
template<typename Spec>
void thread_artifacts_dump( const dish2::ThreadWorld<Spec>& thread_world ) {


  uitsl_err_audit(!
    dish2::dump_abundance_lowest_root_genome<Spec>( thread_world )
  );
  uitsl_err_audit(!
    dish2::dump_abundance_highest_root_genome<Spec>( thread_world )
  );
  uitsl_err_audit(!
    dish2::dump_abundance_over_all_roots_genome<Spec>( thread_world )
  );
  uitsl_err_audit(!
    dish2::dump_arbitrary_lowest_root_genome<Spec>( thread_world )
  );
  uitsl_err_audit(!
    dish2::dump_arbitrary_over_all_roots_genome<Spec>( thread_world )
  );
  dish2::dump_population<Spec>( thread_world );

}

} // namespace dish2

#endif // #ifndef DISH2_RUN_THREAD_ARTIFACTS_DUMP_HPP_INCLUDE