.. _program_listing_file_src_elem_DecayChain.hpp: Program Listing for File DecayChain.hpp ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``src/elem/DecayChain.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef DECAYCHAIN_HPP #define DECAYCHAIN_HPP #include "ElemCommons.hpp" #include // NOLINT(misc-include-cleaner) -- provides Eigen::MatrixXd/VectorXd, used throughout; clang-tidy's IWYU mapping doesn't know this header #include #include #include namespace elem { class DecayChain { public: explicit DecayChain(const IsotopeList& isotopes, const IsotopeList& skippedIsotopes = {}); DecayChain(const DecayChain&) = default; auto operator=(const DecayChain&) -> DecayChain& = default; DecayChain(DecayChain&&) = default; auto operator=(DecayChain&&) -> DecayChain& = default; ~DecayChain() = default; void applyDecay(double dtDecay, std::span values) const; [[nodiscard]] auto propagator(double dtDecay) const -> Eigen::MatrixXd; // NOLINT(misc-include-cleaner) -- Eigen::MatrixXd is provided by (already included above); clang-tidy's IWYU mapping just doesn't know that void applyDecay(const Eigen::MatrixXd& propagator, std::span values) const; private: std::vector relevantIndices_; std::vector massNumbers_; Eigen::MatrixXd depletionMatrix_; }; } // namespace elem #endif // DECAYCHAIN_HPP