From 9af5541e88764e639b2f6bc5d02b8d3f168bd1cd Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Mon, 26 Oct 2020 17:00:26 -0500 Subject: [PATCH] Make Source::sample() method const --- docs/source/usersguide/settings.rst | 4 ++-- examples/custom_source/source_ring.cpp | 2 +- .../parameterized_source_ring.cpp | 2 +- include/openmc/source.h | 8 ++++---- src/source.cpp | 4 ++-- tests/regression_tests/source_dlopen/source_sampling.cpp | 2 +- .../parameterized_source_sampling.cpp | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/source/usersguide/settings.rst b/docs/source/usersguide/settings.rst index 1d1403874..df22328e3 100644 --- a/docs/source/usersguide/settings.rst +++ b/docs/source/usersguide/settings.rst @@ -196,7 +196,7 @@ below. class CustomSource : public openmc::Source { - openmc::Particle::Bank sample(uint64_t* seed) + openmc::Particle::Bank sample(uint64_t* seed) const { openmc::Particle::Bank particle; // weight @@ -271,7 +271,7 @@ the source class when it is created: CustomSource(double energy) : energy_{energy} { } // Samples from an instance of this class. - openmc::Particle::Bank sample(uint64_t* seed) + openmc::Particle::Bank sample(uint64_t* seed) const { openmc::Particle::Bank particle; // weight diff --git a/examples/custom_source/source_ring.cpp b/examples/custom_source/source_ring.cpp index 7ff3b03b4..a752216dc 100644 --- a/examples/custom_source/source_ring.cpp +++ b/examples/custom_source/source_ring.cpp @@ -7,7 +7,7 @@ class RingSource : public openmc::Source { - openmc::Particle::Bank sample(uint64_t* seed) + openmc::Particle::Bank sample(uint64_t* seed) const { openmc::Particle::Bank particle; // wgt diff --git a/examples/parameterized_custom_source/parameterized_source_ring.cpp b/examples/parameterized_custom_source/parameterized_source_ring.cpp index 2176a073a..9f913dfee 100644 --- a/examples/parameterized_custom_source/parameterized_source_ring.cpp +++ b/examples/parameterized_custom_source/parameterized_source_ring.cpp @@ -31,7 +31,7 @@ class RingSource : public openmc::Source { } // Samples from an instance of this class. - openmc::Particle::Bank sample(uint64_t* seed) + openmc::Particle::Bank sample(uint64_t* seed) const { openmc::Particle::Bank particle; // wgt diff --git a/include/openmc/source.h b/include/openmc/source.h index 93e6bcf54..12e815699 100644 --- a/include/openmc/source.h +++ b/include/openmc/source.h @@ -36,7 +36,7 @@ public: virtual ~Source() = default; // Methods that must be implemented - virtual Particle::Bank sample(uint64_t* seed) = 0; + virtual Particle::Bank sample(uint64_t* seed) const = 0; // Methods that can be overridden virtual double strength() const { return 1.0; } @@ -55,7 +55,7 @@ public: //! Sample from the external source distribution //! \param[inout] seed Pseudorandom seed pointer //! \return Sampled site - Particle::Bank sample(uint64_t* seed) override; + Particle::Bank sample(uint64_t* seed) const override; // Properties Particle::Type particle_type() const { return particle_; } @@ -84,7 +84,7 @@ public: explicit FileSource(std::string path); // Methods - Particle::Bank sample(uint64_t* seed) override; + Particle::Bank sample(uint64_t* seed) const override; private: std::vector sites_; //!< Source sites from a file @@ -101,7 +101,7 @@ public: ~CustomSourceWrapper(); // Defer implementation to custom source library - Particle::Bank sample(uint64_t* seed) override + Particle::Bank sample(uint64_t* seed) const override { return custom_source_->sample(seed); } diff --git a/src/source.cpp b/src/source.cpp index a7bb80747..ff8303147 100644 --- a/src/source.cpp +++ b/src/source.cpp @@ -141,7 +141,7 @@ IndependentSource::IndependentSource(pugi::xml_node node) } } -Particle::Bank IndependentSource::sample(uint64_t* seed) +Particle::Bank IndependentSource::sample(uint64_t* seed) const { Particle::Bank site; @@ -261,7 +261,7 @@ FileSource::FileSource(std::string path) file_close(file_id); } -Particle::Bank FileSource::sample(uint64_t* seed) +Particle::Bank FileSource::sample(uint64_t* seed) const { size_t i_site = sites_.size()*prn(seed); return sites_[i_site]; diff --git a/tests/regression_tests/source_dlopen/source_sampling.cpp b/tests/regression_tests/source_dlopen/source_sampling.cpp index 796b504f3..8eaf6265c 100644 --- a/tests/regression_tests/source_dlopen/source_sampling.cpp +++ b/tests/regression_tests/source_dlopen/source_sampling.cpp @@ -7,7 +7,7 @@ class CustomSource : public openmc::Source { - openmc::Particle::Bank sample(uint64_t *seed) + openmc::Particle::Bank sample(uint64_t *seed) const { openmc::Particle::Bank particle; // wgt diff --git a/tests/regression_tests/source_parameterized_dlopen/parameterized_source_sampling.cpp b/tests/regression_tests/source_parameterized_dlopen/parameterized_source_sampling.cpp index 91c165dbc..da7d70e37 100644 --- a/tests/regression_tests/source_parameterized_dlopen/parameterized_source_sampling.cpp +++ b/tests/regression_tests/source_parameterized_dlopen/parameterized_source_sampling.cpp @@ -6,7 +6,7 @@ class CustomSource : public openmc::Source { CustomSource(double energy) : energy_(energy) { } // Samples from an instance of this class. - openmc::Particle::Bank sample(uint64_t* seed) + openmc::Particle::Bank sample(uint64_t* seed) const { openmc::Particle::Bank particle; // wgt