.. _program_listing_file_src_io_OutputManagerAscii.hpp: Program Listing for File OutputManagerAscii.hpp =============================================== |exhale_lsh| :ref:`Return to documentation for file ` (``src/io/OutputManagerAscii.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef OUTPUTMANAGERASCII_HPP #define OUTPUTMANAGERASCII_HPP #include "OutputManager.hpp" #include "SimControls.hpp" #include #include namespace core { class Cluster; class Galaxy; } // namespace core namespace io { class OutputManagerAscii : public OutputManager { public: explicit OutputManagerAscii(const SimControls& simControls); ~OutputManagerAscii() override; OutputManagerAscii(const OutputManagerAscii&) = delete; auto operator=(const OutputManagerAscii&) -> OutputManagerAscii& = delete; OutputManagerAscii(OutputManagerAscii&&) = delete; auto operator=(OutputManagerAscii&&) -> OutputManagerAscii& = delete; void writeCluster(unsigned long trial, const core::Cluster& cluster) override; void writeClusterSpec(unsigned long trial, double time, core::Cluster& cluster) override; void writeClusterPhot(unsigned long trial, double time, core::Cluster& cluster) override; void writeClusterYields(unsigned long trial, double time, core::Cluster& cluster) override; void writeGalaxy(unsigned long trial, double time, core::Galaxy& galaxy) override; void writeGalaxySpec(unsigned long trial, double time, core::Galaxy& galaxy) override; void writeGalaxyPhot(unsigned long trial, double time, core::Galaxy& galaxy) override; void writeGalaxyYields(unsigned long trial, double time, core::Galaxy& galaxy) override; void writeClusterFeedback(unsigned long trial, double time, core::Cluster& cluster) override; void writeGalaxyFeedback(unsigned long trial, double time, core::Galaxy& galaxy) override; void checkpoint(unsigned long trialsCompleted) override; [[nodiscard]] auto restartTrialsDone() const -> unsigned long override; [[nodiscard]] auto restartMaxTrial() const -> unsigned long override; void notifyEarlyTermination(unsigned long trialsCompleted) override; private: void openClustersFile(); void openClusterSpectraFile(); void openClusterPhotFile(); void openClusterYieldsFile(); void openGalaxyFile(); void openGalaxySpectraFile(); void openGalaxyPhotFile(); void openGalaxyYieldsFile(); void openClusterFeedbackFile(); void openGalaxyFeedbackFile(); void openClusterNebLinesFile(); void openGalaxyNebLinesFile(); void writeClusterNebLines(unsigned long trial, double time, core::Cluster& cluster); void writeGalaxyNebLines(unsigned long trial, double time, core::Galaxy& galaxy); std::ofstream clustersFile_; std::ofstream clusterSpectraFile_; std::ofstream clusterPhotFile_; std::ofstream clusterYieldsFile_; std::ofstream clusterNebLinesFile_; std::ofstream galaxyFile_; std::ofstream galaxySpectraFile_; std::ofstream galaxyPhotFile_; std::ofstream galaxyYieldsFile_; std::ofstream clusterFeedbackFile_; std::ofstream galaxyFeedbackFile_; std::ofstream galaxyNebLinesFile_; std::vector wlObs_; std::vector photColWidths_; std::vector photExtinctColWidths_; std::vector photNebColWidths_; std::vector photNebExtinctColWidths_; std::vector yieldsColWidths_; int lineLabelWidth_ = 0; }; } // namespace io #endif // OUTPUTMANAGERASCII_HPP