6#include "fourdst/logging/logging.h"
9#include <unordered_map>
56 [[nodiscard]]
double evaluate(
int z,
int a,
double T9)
const override;
75 [[nodiscard]]
bool supports(
int z,
int a)
const override;
82 [[nodiscard]] std::string
type()
const override;
88 [[nodiscard]] std::unique_ptr<PartitionFunction>
clone()
const override {
89 return std::make_unique<CompositePartitionFunction>(*
this);
92 quill::Logger*
m_logger = fourdst::logging::LogManager::getInstance().getLogger(
"log");
std::unique_ptr< PartitionFunction > selectPartitionFunction(const BasePartitionType type) const
std::string type() const override
std::unique_ptr< PartitionFunction > clone() const override
std::vector< std::unique_ptr< PartitionFunction > > m_partitionFunctions
Set of partition functions to use in the composite partition function.
double evaluate(int z, int a, double T9) const override
double evaluateDerivative(int z, int a, double T9) const override
CompositePartitionFunction(const std::vector< BasePartitionType > &partitionFunctions)
bool supports(int z, int a) const override
Abstract interface for evaluating nuclear partition functions.
BasePartitionType
Enumerates available partition function implementations.