GridFire 0.0.1a
General Purpose Nuclear Network
Loading...
Searching...
No Matches
partition_ground.h
Go to the documentation of this file.
1#pragma once
2
4
5#include "fourdst/logging/logging.h"
6
7#include <unordered_map>
8#include <memory>
9
10#include "quill/Logger.h"
11
12namespace gridfire::partition {
23 public:
43 double evaluate(
44 const int z,
45 const int a,
46 const double T9
47 ) const override;
60 double evaluateDerivative(
61 const int z,
62 const int a,
63 const double T9
64 ) const override;
73 bool supports(
74 const int z,
75 const int a
76 ) const override;
82 std::string type() const override { return "GroundState"; }
88 std::unique_ptr<PartitionFunction> clone() const override {
89 return std::make_unique<GroundStatePartitionFunction>(*this);
90 }
91 private:
92 quill::Logger* m_logger = fourdst::logging::LogManager::getInstance().getLogger("log");
93 std::unordered_map<int, double> m_ground_state_spin;
103 static constexpr int make_key(
104 const int z,
105 const int a);
106 };
107
108 }
double evaluateDerivative(const int z, const int a, const double T9) const override
bool supports(const int z, const int a) const override
static constexpr int make_key(const int z, const int a)
std::unique_ptr< PartitionFunction > clone() const override
double evaluate(const int z, const int a, const double T9) const override
std::unordered_map< int, double > m_ground_state_spin
Abstract interface for evaluating nuclear partition functions.