GridFire 0.0.1a
General Purpose Nuclear Network
Loading...
Searching...
No Matches
network_file.h
Go to the documentation of this file.
1#pragma once
2
3#include "fourdst/config/config.h"
4#include "fourdst/logging/logging.h"
5
6#include "quill/Logger.h"
7
8#include <string>
9#include <vector>
10
11namespace gridfire::io {
12
27 std::vector<std::string> reactionPENames;
28 };
29
39 public:
43 virtual ~NetworkFileParser() = default;
44
71 [[nodiscard]] virtual ParsedNetworkData parse(const std::string& filename) const = 0;
72
73 };
74
85 public:
118 ParsedNetworkData parse(const std::string& filename) const override;
119 private:
120 using Config = fourdst::config::Config;
121 using LogManager = fourdst::logging::LogManager;
122 Config& m_config = Config::getInstance();
123 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
124 };
125
136 public:
145 explicit MESANetworkFileParser(const std::string& filename);
158 ParsedNetworkData parse(const std::string& filename) const override;
159 private:
160 using Config = fourdst::config::Config;
161 using LogManager = fourdst::logging::LogManager;
162 Config& m_config = Config::getInstance();
163 quill::Logger* m_logger = LogManager::getInstance().getLogger("log");
164
165 std::string m_filename;
166 };
167}
ParsedNetworkData parse(const std::string &filename) const override
Parses a MESA-format network file.
fourdst::logging::LogManager LogManager
MESANetworkFileParser(const std::string &filename)
Constructs a MESANetworkFileParser.
fourdst::config::Config Config
An abstract base class for network file parsers.
virtual ParsedNetworkData parse(const std::string &filename) const =0
Parses a network file and returns the parsed data.
virtual ~NetworkFileParser()=default
Virtual destructor for the base class.
ParsedNetworkData parse(const std::string &filename) const override
Parses a simple reaction list file.
fourdst::logging::LogManager LogManager
SimpleReactionListFileParser()
Constructs a SimpleReactionListFileParser.
Holds the data parsed from a network file.
std::vector< std::string > reactionPENames
A vector of reaction names in their PEN-style format.