diff --git a/examples/main.cpp b/examples/main.cpp index 216f538..1a2ad85 100644 --- a/examples/main.cpp +++ b/examples/main.cpp @@ -20,7 +20,7 @@ int main() { Material uo2(sigma_t, sigma_s, sigma_a, sigma_f, nu_sigma_f, chi, "UO2"); std::cout << uo2 << std::endl; - Cell uo2_cell(1.0, &uo2, "UO2"); + Cell uo2_cell(1.0, uo2, "UO2"); std::cout << uo2_cell << std::endl; return 0; diff --git a/src/demeter/model/cell.cpp b/src/demeter/model/cell.cpp index 65daad4..dad71dd 100644 --- a/src/demeter/model/cell.cpp +++ b/src/demeter/model/cell.cpp @@ -9,7 +9,10 @@ void Cell::check() const { std::string Cell::print() const { std::ostringstream ss; ss << "Cell " << name_ << " has " << radii_.size() << " rings and " - << materials_.size() << " materials"; + << materials_.size() << " materials:\n"; + for (const auto& m : materials_) { + ss << " * " << m.get().print(); + } return ss.str(); } } // namespace Demeter \ No newline at end of file diff --git a/src/demeter/model/cell.hpp b/src/demeter/model/cell.hpp index 16fc7c5..baa45c7 100644 --- a/src/demeter/model/cell.hpp +++ b/src/demeter/model/cell.hpp @@ -4,6 +4,8 @@ #include #include #include +#include + #include #include "demeter/common.hpp" @@ -13,13 +15,14 @@ namespace Demeter { class Cell { public: - Cell(double side, Material* material, std::string_view name = "") + Cell(double side, Material& material, std::string_view name = "") : side_(side), name_(name) { materials_.push_back(material); } Cell(double side, std::vector& radii, - std::vector& materials, std::string_view name = "") + std::vector>& materials, + std::string_view name = "") : side_(side), radii_(radii), materials_(materials), name_(name) { check(); } @@ -40,7 +43,7 @@ class Cell { // size_t num_sectors_; //TODO - std::vector materials_; + std::vector> materials_; /* A name for the Cell */ std::string name_;