diff --git a/.clang-tidy b/.clang-tidy index 7212210e12c822617c358c6b57e55186f4182171..52a95dbba51a21442f9a27cf7321298a94a69620 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -26,6 +26,7 @@ Checks: '*, -*-uppercase-literal-suffix, -*nodiscard, -abseil-*, +-altera-struct-pack-align, -altera-unroll-loops, -bugprone-branch-clone, -bugprone-easily-swappable-parameters, @@ -34,7 +35,9 @@ Checks: '*, -cert-err58-cpp, -cert-err61-cpp, -cert-msc30-c*, +-cert-msc32-c, -cert-msc50-cpp, +-cert-msc51-cpp, -clang-analyzer-alpha*, -clang-analyzer-alpha.deadcode.UnreachableCode, -clang-analyzer-security.insecureAPI.strcpy, @@ -63,6 +66,7 @@ Checks: '*, -hicpp-exception-baseclass, -hicpp-explicit-conversions, -hicpp-member-init, +-hicpp-noexcept-move, -hicpp-signed-bitwise, -hicpp-vararg, -llvmlibc-callee-namespace, @@ -106,6 +110,7 @@ Checks: '*, -*avoid-c-arrays, -*narrowing-conversions, +-cppcoreguidelines-prefer-member-initializer, -cppcoreguidelines-owning-memory, -bugprone-unused-return-value, -bugprone-parent-virtual-call, @@ -134,7 +139,6 @@ Checks: '*, *-use-override, cppcoreguidelines-explicit-virtual-functions, google-readability-avoid-underscore-in-googletest-name, -hicpp-noexcept-move, llvm-qualified-auto, misc-uniqueptr-reset-release, modernize-avoid-bind, diff --git a/Base/Axis/Bin.h b/Base/Axis/Bin.h index baed11aa4c22c248bc62b210b30b61a644db07fc..8fc0c452dc157fc26f07b99847b716f59c6e2158 100644 --- a/Base/Axis/Bin.h +++ b/Base/Axis/Bin.h @@ -30,7 +30,7 @@ public: bool operator==(const Bin1D&) const = default; double min() const { return m_lower; } - double axn() const { return m_upper; } + double max() const { return m_upper; } double center() const { return (m_lower + m_upper) / 2; } double binSize() const { return m_upper - m_lower; } double atFraction(double fraction) const; diff --git a/Base/Axis/Frame.cpp b/Base/Axis/Frame.cpp index 5e25bbb8b021fb456096adb7447b6d1ea0e3f15e..1998ab0e980bb13ebff8b9774378610b86b48644 100644 --- a/Base/Axis/Frame.cpp +++ b/Base/Axis/Frame.cpp @@ -137,7 +137,7 @@ Frame* Frame::plottableFrame() const { std::vector<const Scale*> outaxes; for (size_t k = 0; k < rank(); ++k) { - Scale* s = new Scale(axis(k).plottableScale()); + auto* s = new Scale(axis(k).plottableScale()); outaxes.emplace_back(s); } return new Frame(std::move(outaxes)); diff --git a/Base/Axis/FrameUtil.cpp b/Base/Axis/FrameUtil.cpp index f0551f611012f8e7e3945028b5d1b4c52a74e9ba..ecb35ab6835508fae844946146c542153057e819 100644 --- a/Base/Axis/FrameUtil.cpp +++ b/Base/Axis/FrameUtil.cpp @@ -50,7 +50,7 @@ double FrameUtil::coordinateFromBinf(double value, const Scale& axis) result = bin.min() + value * bin.binSize(); } else if (index >= static_cast<int>(axis.size())) { Bin1D bin = axis.bin(axis.size() - 1); - result = bin.axn() + (value - axis.size()) * bin.binSize(); + result = bin.max() + (value - axis.size()) * bin.binSize(); } else { Bin1D bin = axis.bin(static_cast<size_t>(index)); result = bin.min() + (value - static_cast<double>(index)) * bin.binSize(); diff --git a/Base/Axis/Scale.cpp b/Base/Axis/Scale.cpp index fd248b0dc40c3556d423e553e0c27ec2ebd1b8ec..bf055e547ad5228f6c478997d377f895b3e22f6b 100644 --- a/Base/Axis/Scale.cpp +++ b/Base/Axis/Scale.cpp @@ -29,7 +29,7 @@ Scale::Scale(const Coordinate& coord, std::vector<Bin1D> bins) if (size() == 0) throw std::runtime_error("Scale constructor called with no bins"); for (size_t i = 0; i < size() - 1; ++i) { - if (bin(i).axn() > bin(i + 1).min()) + if (bin(i).max() > bin(i + 1).min()) throw std::runtime_error("Scale constructor called with overlapping bins"); if (bin(i) == bin(i + 1)) throw std::runtime_error("Scale constructor called with repeating bin(s)"); @@ -46,8 +46,8 @@ Scale::Scale(const Coordinate& coord, std::vector<Bin1D> bins) } Scale::Scale(const Scale& other) + : m_bins(other.m_bins) { - m_bins = other.m_bins; ASSERT(other.m_coord); m_coord = std::make_unique<Coordinate>(*other.m_coord); } @@ -80,7 +80,7 @@ double Scale::min() const double Scale::max() const { - return m_bins.back().axn(); + return m_bins.back().max(); } std::pair<double, double> Scale::bounds() const @@ -124,7 +124,7 @@ std::vector<double> Scale::binCenters() const size_t Scale::closestIndex(double value) const { for (size_t i = 0; i < size() - 1; ++i) - if (value < (bin(i).axn() + bin(i + 1).min()) / 2) + if (value < (bin(i).max() + bin(i + 1).min()) / 2) return i; return size() - 1; } @@ -136,7 +136,7 @@ bool Scale::isEquiDivision() const const Bin1D& b = bin(i); // exactly replicate the computation of bin bounds in the EquiDivision factory function if (b.min() != (N - i) * (min() / N) + i * (max() / N) - || b.axn() != (N - i - 1) * (min() / N) + (i + 1) * (max() / N)) + || b.max() != (N - i - 1) * (min() / N) + (i + 1) * (max() / N)) return false; } return true; @@ -213,7 +213,7 @@ std::ostream& operator<<(std::ostream& ostr, const Scale& ax) ostr << "GenericScale(\"" << ax.axisLabel() << "\", ["; for (const Bin1D& b : ax.bins()) - ostr << b.min() << "," << b.axn() << ","; + ostr << b.min() << "," << b.max() << ","; ostr << "])"; return ostr; } @@ -232,7 +232,7 @@ Scale Scale::transformedScale(const std::string& label, const trafo_t& axTrafo) std::vector<Bin1D> outvector; for (const Bin1D& b : m_bins) { double bmi = axTrafo(b.min()); - double bma = axTrafo(b.axn()); + double bma = axTrafo(b.max()); outvector.emplace_back(Bin1D::FromTo(bmi, bma)); } return {label, outvector}; diff --git a/Base/Util/SysUtil.cpp b/Base/Util/SysUtil.cpp index 9bfc3d361b032a0c1958dfeb4dc4506c2d831d95..6ac6c77c2ef0d8ac7ce82a8e15204b7937ad6c4a 100644 --- a/Base/Util/SysUtil.cpp +++ b/Base/Util/SysUtil.cpp @@ -17,7 +17,6 @@ #include <iomanip> #include <iostream> #include <sstream> -#include <stdexcept> std::string Base::System::getCurrentDateAndTime() { diff --git a/Device/Beam/Beam.cpp b/Device/Beam/Beam.cpp index 1205747f77cc6f686201e93588d7f228a52cceec..2b9e176c66d4d5dfc1f3c8d6d3d36f8829fdd3d1 100644 --- a/Device/Beam/Beam.cpp +++ b/Device/Beam/Beam.cpp @@ -37,7 +37,7 @@ Beam::~Beam() = default; Beam* Beam::clone() const { - Beam* result = new Beam(m_intensity, m_wavelength, m_alpha, m_phi); + auto* result = new Beam(m_intensity, m_wavelength, m_alpha, m_phi); result->m_footprint = m_footprint; result->m_polarization = m_polarization; return result; diff --git a/Device/Beam/Beam.h b/Device/Beam/Beam.h index 9bea431c84a80f48055a7c333c1e159bb57df293..cade97caaf9c43302dee013cf416ca4eb34d0f7c 100644 --- a/Device/Beam/Beam.h +++ b/Device/Beam/Beam.h @@ -73,7 +73,7 @@ public: } //! Returns polarization density as Bloch vector - R3 polVector() const + const R3& polVector() const { return m_polarization; } diff --git a/Device/Data/DataUtil.cpp b/Device/Data/DataUtil.cpp index 1cdc7f334702a220de12b6d77000f2e0a56d3345..5279c923321fe1e91eb3b0e6c831d1aa6e68684d 100644 --- a/Device/Data/DataUtil.cpp +++ b/Device/Data/DataUtil.cpp @@ -80,12 +80,12 @@ Datafield DataUtil::rotatedDatafield(const Datafield& data, int n) for (size_t i = 0; i < N; ++i) out[i] = data[N - 1 - i]; return {{data.axis(0).clone(), data.axis(1).clone()}, out}; - } - if (n == 3) { + + } else if (n == 3) { for (size_t iy = 0; iy < ny; ++iy) // out-y along out-axis 0 for (size_t ix = 0; ix < nx; ++ix) // out-x along out-axis 1 out[iy * nx + (nx - 1 - ix)] = data[ix * ny + iy]; return {{data.axis(1).clone(), data.axis(0).clone()}, out}; - } else - ASSERT_NEVER; + } + ASSERT_NEVER; } diff --git a/Device/Data/Datafield.cpp b/Device/Data/Datafield.cpp index 772a1b562707b0342d94b205fc6c8a4cf5fd4e69..43eb227b0f3f93c903f3fa70df1f50a5bd0fc881 100644 --- a/Device/Data/Datafield.cpp +++ b/Device/Data/Datafield.cpp @@ -27,9 +27,6 @@ namespace { -auto const seed = 123; -auto urbg = std::mt19937(seed); - PyObject* npExport(const Frame& frame, const std::vector<double>& flatData) { if (flatData.empty()) @@ -131,7 +128,7 @@ Datafield::Datafield(const std::string& xlabel, const std::string& ylabel, else axes = {newEquiDivision(xlabel, ncols, 0.0, (double)ncols), newEquiDivision(ylabel, nrows, 0.0, (double)nrows)}; - m_frame.reset(new Frame(std::move(axes))); + m_frame = std::make_unique<Frame>(std::move(axes)); setVector2D(vec); } @@ -429,6 +426,9 @@ Datafield Datafield::flat() const Datafield Datafield::noisy(double prefactor, double minimum) const { + auto const seed = 123; + static auto urbg = std::mt19937(seed); + std::vector<double> outval(size()); std::vector<double> errval(size()); for (size_t i = 0; i < size(); ++i) { diff --git a/Device/Detector/Detector2D.cpp b/Device/Detector/Detector2D.cpp index 67e70f479edd66607512bf2f09e3a8bb04dc9bc6..2f16dfc4e26f4f4391720824f99747ed4ef56e36 100644 --- a/Device/Detector/Detector2D.cpp +++ b/Device/Detector/Detector2D.cpp @@ -35,11 +35,6 @@ Detector2D::Detector2D(size_t n_phi, double phi_min, double phi_max, size_t n_al ASSERT(-pi / 2 < alpha_max && alpha_max < +pi / 2); } -Detector2D::Detector2D(const Detector2D& other) - : IDetector(other) -{ -} - Detector2D* Detector2D::clone() const { return new Detector2D(*this); @@ -51,11 +46,11 @@ Pixel* Detector2D::createPixel(size_t index) const const size_t iy = axisBinIndex(index, 1); const Bin1D& phi_in = axis(0).bin(ix); - const Bin1D phi_out = Bin1D::FromTo(atan(phi_in.min()), atan(phi_in.axn())); + const Bin1D phi_out = Bin1D::FromTo(atan(phi_in.min()), atan(phi_in.max())); const double ru = hypot(1., pow(phi_in.center(), 2)); const Bin1D& alpha_in = axis(1).bin(iy); - const Bin1D alpha_out = Bin1D::FromTo(atan(alpha_in.min() / ru), atan(alpha_in.axn() / ru)); + const Bin1D alpha_out = Bin1D::FromTo(atan(alpha_in.min() / ru), atan(alpha_in.max() / ru)); return new Pixel(phi_out, alpha_out); } diff --git a/Device/Detector/Detector2D.h b/Device/Detector/Detector2D.h index 20dbe228b1e66e56d6da3b55cad6a3635d97eac7..9c7038025269990d47e901e5dae93e3afa3e17ba 100644 --- a/Device/Detector/Detector2D.h +++ b/Device/Detector/Detector2D.h @@ -27,7 +27,6 @@ public: Detector2D(size_t n_phi, double phi_min, double phi_max, size_t n_alpha, double alpha_min, double alpha_max); - Detector2D(const Detector2D& other); ~Detector2D() override = default; Detector2D* clone() const override; diff --git a/Device/Detector/IDetector.cpp b/Device/Detector/IDetector.cpp index 27db71881a8b401e8ef5aa4c83ef6cf666acf30b..dee16f00e66c4b83f4a20a6edc58633538be72a0 100644 --- a/Device/Detector/IDetector.cpp +++ b/Device/Detector/IDetector.cpp @@ -178,7 +178,7 @@ Datafield IDetector::createDetectorMap() const ASSERT(m_frame); auto* f = new Frame(*m_frame); f->setAxes(std::move(axes)); - return Datafield(f); + return {f}; } std::pair<double, double> IDetector::regionOfInterestBounds(size_t iAxis) const diff --git a/Device/Detector/IDetector.h b/Device/Detector/IDetector.h index 40b354fc6792e358718937d9f76e36becbff0305..22e137ee3b62a4407b4249f67063750229b198f9 100644 --- a/Device/Detector/IDetector.h +++ b/Device/Detector/IDetector.h @@ -111,7 +111,7 @@ public: virtual size_t indexOfSpecular(const Beam& beam) const = 0; //! Applies the detector resolution to the given intensity maps - void applyDetectorResolution(Datafield* intensity_map) const; + void applyDetectorResolution(Datafield* df) const; //! True if a region of interest is explicitly set. bool hasExplicitRegionOfInterest() const; diff --git a/Device/Detector/OffspecDetector.cpp b/Device/Detector/OffspecDetector.cpp index af926b55807f91440c9985ae742e3ad556999359..699cd542a335fdbc00632f875647c306b5d3af7e 100644 --- a/Device/Detector/OffspecDetector.cpp +++ b/Device/Detector/OffspecDetector.cpp @@ -57,17 +57,14 @@ size_t OffspecDetector::axisBinIndex(size_t i, size_t k_axis) const { if (k_axis == 0) return i % m_axes[0]->size(); - else + else if (k_axis == 1) return i / m_axes[0]->size(); + ASSERT_NEVER; } size_t OffspecDetector::totalSize() const { - const size_t dim = 2; - size_t result = 1; - for (size_t i_axis = 0; i_axis < dim; ++i_axis) - result *= m_axes[i_axis]->size(); - return result; + return m_axes[0]->size() * m_axes[1]->size(); } Pixel* OffspecDetector::createPixel(size_t index) const diff --git a/Device/Detector/OffspecDetector.h b/Device/Detector/OffspecDetector.h index 55248d22b4c55cee79d74721b75943277aa19a53..915fb5e660c5091214af30a45a39c4d75c8c9a59 100644 --- a/Device/Detector/OffspecDetector.h +++ b/Device/Detector/OffspecDetector.h @@ -51,7 +51,7 @@ public: const Scale& axis(size_t index) const; //! Calculate axis index for given global index - size_t axisBinIndex(size_t index, size_t selected_axis) const; + size_t axisBinIndex(size_t index, size_t k_axis) const; //! Returns total number of pixels. //! Any region of interest is not taken into account. diff --git a/Device/IO/ReadReflectometry.cpp b/Device/IO/ReadReflectometry.cpp index c543d0ff05ef8b91cf91155cfa15d1a7b84a5692..3cf3c22451254ac94f679e2406006fb96e2807c4 100644 --- a/Device/IO/ReadReflectometry.cpp +++ b/Device/IO/ReadReflectometry.cpp @@ -84,7 +84,7 @@ Datafield* Util::RW::readReflectometryTable(std::istream& s, const ImportSetting if (p.rm_negative && arg < 0) continue; - if (p.rm_duplications && QVec.size()) + if (p.rm_duplications && !QVec.empty()) if (Numeric::almostEqual(QVec.back(), arg, 1)) continue; diff --git a/Device/IO/ReadWriteTiff.cpp b/Device/IO/ReadWriteTiff.cpp index f9ae8ae99e9b1a5c9c1d30e0d9f4b0095a746019..e05797ca4951fd479c94e1e4689e312d9c1d759b 100644 --- a/Device/IO/ReadWriteTiff.cpp +++ b/Device/IO/ReadWriteTiff.cpp @@ -109,7 +109,7 @@ Datafield* Util::RW::readTiff(std::istream& input_stream) if (buf_size != expected_size) throw std::runtime_error("Cannot read TIFF file: wrong scanline size" + ref_to_doc); - tdata_t buf = _TIFFmalloc(buf_size); + tdata_t const buf = _TIFFmalloc(buf_size); // tdata_t is void* if (!buf) throw std::runtime_error("Cannot read TIFF file: failed allocating buffer" + ref_to_doc); @@ -124,7 +124,7 @@ Datafield* Util::RW::readTiff(std::istream& input_stream) if (TIFFReadScanline(tiffstream, buf, row) < 0) throw std::runtime_error("Cannot read TIFF file: error in scanline." + ref_to_doc); - memcpy(&line_buf[0], buf, buf_size); + memcpy(line_buf.data(), buf, buf_size); for (unsigned col = 0; col < w; ++col) { void* incoming = &line_buf[col * bytesPerSample]; @@ -142,6 +142,8 @@ Datafield* Util::RW::readTiff(std::istream& input_stream) case 32: sample = *reinterpret_cast<uint32_t*>(incoming); break; + default: + throw std::runtime_error("Corrupted TIFF file"); } break; case 2: // signed int @@ -155,6 +157,8 @@ Datafield* Util::RW::readTiff(std::istream& input_stream) case 32: sample = *reinterpret_cast<int32_t*>(incoming); break; + default: + throw std::runtime_error("Corrupted TIFF file"); } break; case 3: // IEEE float @@ -217,7 +221,7 @@ void Util::RW::writeTiff(const Datafield& data, std::ostream& output_stream) for (unsigned row = 0; row < (uint32_t)m_height; row++) { for (unsigned col = 0; col < line_buf.size(); ++col) line_buf[col] = static_cast<sample_t>(data[(m_height - 1 - row) * m_width + col]); - memcpy(buf, &line_buf[0], buf_size); + memcpy(buf, line_buf.data(), buf_size); if (TIFFWriteScanline(tiffstream, buf, row) < 0) throw std::runtime_error("Cannot write TIFF file: error in TIFFWriteScanline"); diff --git a/Device/Mask/Line.cpp b/Device/Mask/Line.cpp index 5db3da75d7b0fb149fb8bdb8c39fd5059f1d48a6..9d5b8e5c3dab8f122cc2b2a587aa64b6e9ef952e 100644 --- a/Device/Mask/Line.cpp +++ b/Device/Mask/Line.cpp @@ -48,9 +48,9 @@ bool Line::contains(const Bin1D& binx, const Bin1D& biny) const { std::vector<point_t> box_points; box_points.emplace_back(binx.min(), biny.min()); - box_points.emplace_back(binx.min(), biny.axn()); - box_points.emplace_back(binx.axn(), biny.axn()); - box_points.emplace_back(binx.axn(), biny.min()); + box_points.emplace_back(binx.min(), biny.max()); + box_points.emplace_back(binx.max(), biny.max()); + box_points.emplace_back(binx.max(), biny.min()); box_points.emplace_back(binx.min(), biny.min()); std::vector<point_t> line_points; @@ -77,7 +77,7 @@ bool VerticalLine::contains(double x, double /*y*/) const bool VerticalLine::contains(const Bin1D& binx, const Bin1D& /*biny*/) const { - return m_x >= binx.min() && m_x <= binx.axn(); + return m_x >= binx.min() && m_x <= binx.max(); } // ------------------------------------------------------------------------- // @@ -96,5 +96,5 @@ bool HorizontalLine::contains(double /*x*/, double y) const bool HorizontalLine::contains(const Bin1D& /*binx*/, const Bin1D& biny) const { - return m_y >= biny.min() && m_y <= biny.axn(); + return m_y >= biny.min() && m_y <= biny.max(); } diff --git a/Device/Mask/MaskStack.cpp b/Device/Mask/MaskStack.cpp index 6c8fb06f3e8dce2b504e6c519a647815b8b6845c..01224770abecfca5e9775034380bbb5ae44647e0 100644 --- a/Device/Mask/MaskStack.cpp +++ b/Device/Mask/MaskStack.cpp @@ -81,7 +81,7 @@ size_t MaskStack::numberOfMasks() const return m_stack.size(); } -const std::pair<IShape2D*, bool> MaskStack::patternAt(size_t iMask) const +std::pair<IShape2D*, bool> MaskStack::patternAt(size_t iMask) const { MaskPattern* pat = m_stack.at(iMask); return {pat->shape, pat->doMask}; diff --git a/Device/Mask/MaskStack.h b/Device/Mask/MaskStack.h index fdf16fd2ae85b4d127928a47cd5c9fe80c76fd87..b67707153854577620a904234437d80082f4b017 100644 --- a/Device/Mask/MaskStack.h +++ b/Device/Mask/MaskStack.h @@ -43,7 +43,7 @@ public: size_t numberOfMasks() const; - const std::pair<IShape2D*, bool> patternAt(size_t iMask) const; + std::pair<IShape2D*, bool> patternAt(size_t iMask) const; private: CloneableVector<MaskPattern> m_stack; diff --git a/Device/Mask/Rectangle.cpp b/Device/Mask/Rectangle.cpp index be5856e3aef0281c9f228dbc6348fa9536f52bb6..c0bebd8b004db9607329c8818aff632e27f56aae 100644 --- a/Device/Mask/Rectangle.cpp +++ b/Device/Mask/Rectangle.cpp @@ -56,7 +56,7 @@ bool Rectangle::contains(double x, double y) const bool Rectangle::contains(const Bin1D& binx, const Bin1D& biny) const { return m_inverted - ^ (binx.axn() > m_xlow && binx.min() < m_xup && biny.axn() > m_ylow + ^ (binx.max() > m_xlow && binx.min() < m_xup && biny.max() > m_ylow && biny.min() < m_yup); } diff --git a/Device/Resolution/ConvolutionDetectorResolution.h b/Device/Resolution/ConvolutionDetectorResolution.h index 8bb29dd9128351da18b336a0c8cef7a68859b81c..f32e4adad1f7760df9c3db4f3c96d03ee1f4fda5 100644 --- a/Device/Resolution/ConvolutionDetectorResolution.h +++ b/Device/Resolution/ConvolutionDetectorResolution.h @@ -41,7 +41,7 @@ public: std::string className() const final { return "ConvolutionDetectorResolution"; } //! Convolve given intensities with the encapsulated resolution. - void execDetectorResolution(Datafield* p_intensity_map) const override; + void execDetectorResolution(Datafield* df) const override; const IResolutionFunction2D* getResolutionFunction2D() const; @@ -52,8 +52,8 @@ protected: private: void setResolutionFunction(const IResolutionFunction2D& resFunc); - void apply1dConvolution(Datafield* p_intensity_map) const; - void apply2dConvolution(Datafield* p_intensity_map) const; + void apply1dConvolution(Datafield* df) const; + void apply2dConvolution(Datafield* df) const; double getIntegratedPDF1d(double x, double step) const; double getIntegratedPDF2d(double x, double step_x, double y, double step_y) const; diff --git a/GUI/Model/Axis/PointwiseAxisItem.cpp b/GUI/Model/Axis/PointwiseAxisItem.cpp index d9a524c11397b013917d38739bfc8c2dfb38eb65..3d06631b4248eaa6a13c1ee1ef6a7a6b15ef9a34 100644 --- a/GUI/Model/Axis/PointwiseAxisItem.cpp +++ b/GUI/Model/Axis/PointwiseAxisItem.cpp @@ -63,7 +63,7 @@ QByteArray PointwiseAxisItem::serializeBinaryData() const std::stringstream ss; Util::RW::writeBAInt(axisData, ss); - return QByteArray(ss.str().c_str(), static_cast<int>(ss.str().size())); + return {ss.str().c_str(), static_cast<int>(ss.str().size())}; } void PointwiseAxisItem::deserializeBinaryData(const QByteArray& data) diff --git a/GUI/Model/Beam/BeamAngleItems.cpp b/GUI/Model/Beam/BeamAngleItems.cpp index b93b2be0f77f0f4772f7b897f14bd31af20c45eb..64d702f0803c3414a6112f90a6e0e9cfa38c2c69 100644 --- a/GUI/Model/Beam/BeamAngleItems.cpp +++ b/GUI/Model/Beam/BeamAngleItems.cpp @@ -32,7 +32,7 @@ void BeamAzimuthalAngleItem::initDistribution(DistributionItem* newDistribution, const DistributionItem* currentDistribution) { double meanVal = 0.0; - if (auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) + if (const auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) meanVal = cd->mean(); if (auto* nd = dynamic_cast<SymmetricResolutionItem*>(newDistribution)) { @@ -81,7 +81,7 @@ void BeamInclinationAngleItem::initDistribution(DistributionItem* newDistributio const DistributionItem* currentDistribution) { double meanVal = 0.2; - if (auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) + if (const auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) meanVal = cd->mean(); if (auto* nd = dynamic_cast<SymmetricResolutionItem*>(newDistribution)) { diff --git a/GUI/Model/Beam/BeamWavelengthItem.cpp b/GUI/Model/Beam/BeamWavelengthItem.cpp index d11de02cdd84583d5d0de67633f5494937b3c6d8..5638d0ec7ace6dc4a52db123522d0621885baa29 100644 --- a/GUI/Model/Beam/BeamWavelengthItem.cpp +++ b/GUI/Model/Beam/BeamWavelengthItem.cpp @@ -23,7 +23,7 @@ void initDistribution(DistributionItem* newDistribution, const DistributionItem* currentDistribution) { double meanVal = default_wl; - if (auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) + if (const auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) meanVal = cd->mean(); if (auto* nd = dynamic_cast<SymmetricResolutionItem*>(newDistribution)) { diff --git a/GUI/Model/Beam/GrazingScanItem.cpp b/GUI/Model/Beam/GrazingScanItem.cpp index 6e79425b910fe7342fdd50cd43e0bd1fe7926fc4..0c93e0de95d30c7e60821c4afb27a758feeb34e0 100644 --- a/GUI/Model/Beam/GrazingScanItem.cpp +++ b/GUI/Model/Beam/GrazingScanItem.cpp @@ -36,18 +36,18 @@ const QString BaseData("BaseData"); void setAxisPresentationDefaults(BasicAxisItem* axisItem) { ASSERT(axisItem); - if (!dynamic_cast<PointwiseAxisItem*>(axisItem)) { - axisItem->setMin(0.0); - axisItem->setMax(3.0); - axisItem->resize(500); - } + if (dynamic_cast<PointwiseAxisItem*>(axisItem)) + return; + axisItem->setMin(0.0); + axisItem->setMax(3.0); + axisItem->resize(500); } void initDistribution(DistributionItem* newDistribution, const DistributionItem* currentDistribution) { double meanVal = 0.0; - if (auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) + if (const auto* cd = dynamic_cast<const SymmetricResolutionItem*>(currentDistribution)) meanVal = cd->mean(); if (auto* nd = dynamic_cast<SymmetricResolutionItem*>(newDistribution)) { @@ -67,7 +67,7 @@ GrazingScanItem::GrazingScanItem() m_distribution.initWithInitializer("Distribution", "", DistributionItemCatalog::symmetricTypes(), initDistribution); - m_uniformAlphaAxis.reset(new BasicAxisItem()); + m_uniformAlphaAxis = std::make_unique<BasicAxisItem>(); setAxisPresentationDefaults(m_uniformAlphaAxis.get()); m_currentAxisIsUniformAxis = true; } @@ -155,7 +155,7 @@ BasicAxisItem* GrazingScanItem::alphaAxisItem() const bool GrazingScanItem::pointwiseAlphaAxisDefined() const { - return m_pointwiseAlphaAxis.get() != nullptr; + return (bool)m_pointwiseAlphaAxis; } bool GrazingScanItem::pointwiseAlphaAxisSelected() const @@ -187,7 +187,7 @@ void GrazingScanItem::initUniformAxis(const Scale& axis) void GrazingScanItem::initListScan(const Scale& axis, QString units, const Frame& frame) { if (!m_pointwiseAlphaAxis) { - m_pointwiseAlphaAxis.reset(new PointwiseAxisItem()); + m_pointwiseAlphaAxis = std::make_unique<PointwiseAxisItem>(); setAxisPresentationDefaults(m_pointwiseAlphaAxis.get()); } diff --git a/GUI/Model/Beam/SourceItems.cpp b/GUI/Model/Beam/SourceItems.cpp index 4a4ee4458979e0e7a63897552ed1871fd2301cbf..c13c51794a670034f3b5313ddb93e6fe1fde7d09 100644 --- a/GUI/Model/Beam/SourceItems.cpp +++ b/GUI/Model/Beam/SourceItems.cpp @@ -53,7 +53,7 @@ SourceItem::SourceItem() m_intensity.init("Intensity", "Beam intensity in neutrons/photons per sec.", 1e8, 3, RealLimits::limited(0.0, 1e32), "intensity"); - m_azimuthalAngleItem.reset(new BeamAzimuthalAngleItem()); + m_azimuthalAngleItem = std::make_unique<BeamAzimuthalAngleItem>(); m_footprint.init("Type", "Footprint type", FootprintItemCatalog::Type::Gaussian); } @@ -202,8 +202,8 @@ void SourceItem::setFootprint(const IFootprint* footprint) BeamItem::BeamItem() { - m_wavelengthItem.reset(new BeamWavelengthItem); - m_inclinationAngleItem.reset(new BeamInclinationAngleItem); + m_wavelengthItem = std::make_unique<BeamWavelengthItem>(); + m_inclinationAngleItem = std::make_unique<BeamInclinationAngleItem>(); } void BeamItem::writeTo(QXmlStreamWriter* w) const @@ -280,8 +280,8 @@ std::unique_ptr<Beam> BeamItem::createBeam() const ScanItem::ScanItem() { - m_grazingScanItem.reset(new GrazingScanItem()); - m_wavelengthItem.reset(new BeamWavelengthItem(true)); + m_grazingScanItem = std::make_unique<GrazingScanItem>(); + m_wavelengthItem = std::make_unique<BeamWavelengthItem>(true); } void ScanItem::setScan(const BeamScan* scan) @@ -359,7 +359,7 @@ BasicAxisItem* ScanItem::inclinationAxisItem() const return grazingScanItem()->alphaAxisItem(); } -void ScanItem::updateToData(const Scale& axis, QString units, const Frame& frame) +void ScanItem::updateToData(const Scale& axis, QString units, const Frame& frame) const { if (units == "bin") { grazingScanItem()->initUniformAxis(axis); diff --git a/GUI/Model/Beam/SourceItems.h b/GUI/Model/Beam/SourceItems.h index db9e4aa2703ff4ae6cb957a9a705f39bfc3c2d4a..decda74f6a10b06d642bd5c27d5170dec2987fe0 100644 --- a/GUI/Model/Beam/SourceItems.h +++ b/GUI/Model/Beam/SourceItems.h @@ -100,7 +100,7 @@ public: GrazingScanItem* grazingScanItem() const; BasicAxisItem* inclinationAxisItem() const; - void updateToData(const Scale& axis, QString units, const Frame& frame); + void updateToData(const Scale& axis, QString units, const Frame& frame) const; private: std::unique_ptr<GrazingScanItem> m_grazingScanItem; diff --git a/GUI/Model/Data/Data1DItem.cpp b/GUI/Model/Data/Data1DItem.cpp index 56af02a01d10c60d1b1b7bca972bf4749abbd4b1..164cc15a8a551d1ec2f76aab13e2da3ab0c4c253 100644 --- a/GUI/Model/Data/Data1DItem.cpp +++ b/GUI/Model/Data/Data1DItem.cpp @@ -119,7 +119,7 @@ void Data1DItem::setLineStyle(QCPGraph::LineStyle lineStyle) m_lineType = line_map.key(lineStyle); } -QColor Data1DItem::color() +QColor Data1DItem::color() const { return m_color; } @@ -129,7 +129,7 @@ void Data1DItem::setColor(Qt::GlobalColor color) m_color = color; } -double Data1DItem::thickness() +double Data1DItem::thickness() const { return m_thickness; } @@ -150,7 +150,7 @@ void Data1DItem::setScatter(QCPScatterStyle::ScatterShape scatter) m_scatterType = scatter_map.key(scatter); } -double Data1DItem::scatterSize() +double Data1DItem::scatterSize() const { return m_scatterSize; } @@ -283,7 +283,7 @@ QPair<double, double> Data1DItem::dataRange() const const double default_max = 1.0; const Datafield* data = c_field(); if (!data) - return QPair<double, double>(default_min, default_max); + return {default_min, default_max}; const auto vec = data->flatVector(); double min(*std::min_element(vec.cbegin(), vec.cend())); @@ -298,7 +298,7 @@ QPair<double, double> Data1DItem::dataRange() const else min /= 2.0; - return QPair<double, double>(min, max); + return {min, max}; } void Data1DItem::resetView() diff --git a/GUI/Model/Data/Data1DItem.h b/GUI/Model/Data/Data1DItem.h index f961bd3c4177a239357f4cc103cff9b1f15e3c80..ba7b438e947a8ea08c1ae2c5d4e1d1508057bb74 100644 --- a/GUI/Model/Data/Data1DItem.h +++ b/GUI/Model/Data/Data1DItem.h @@ -51,11 +51,11 @@ public: void setLineStyle(QCPGraph::LineStyle lineStyle); //! Color for plotting - QColor color(); + QColor color() const; void setColor(Qt::GlobalColor color); //! Line thickness for plotting - double thickness(); + double thickness() const; void setThickness(double thickness); //! Scatter shape for plotting @@ -63,7 +63,7 @@ public: void setScatter(QCPScatterStyle::ScatterShape scatter); //! Scatter size for plotting - double scatterSize(); + double scatterSize() const; void setScatterSize(double scatterSize); void setSimuPlotStyle(); diff --git a/GUI/Model/Data/Data2DItem.cpp b/GUI/Model/Data/Data2DItem.cpp index c3ee003177ae58c977c80658dee5c0efcf5557c6..a0e7c11558727b303c959b8d35ded2f30f7f2edb 100644 --- a/GUI/Model/Data/Data2DItem.cpp +++ b/GUI/Model/Data/Data2DItem.cpp @@ -124,7 +124,7 @@ void Data2DItem::setZrange(double zmin, double zmax) void Data2DItem::copyZRangeFromItem(DataItem* sourceItem) { - Data2DItem* source = dynamic_cast<Data2DItem*>(sourceItem); + const auto* source = dynamic_cast<Data2DItem*>(sourceItem); if (!source || source == this) return; setZrange(source->lowerZ(), source->upperZ()); @@ -139,8 +139,7 @@ QCPColorGradient Data2DItem::currentGradientQCP() const { if (gradient_map.contains(currentGradient())) return gradient_map.value(currentGradient()); - else - return custom_gradient_map.value(currentGradient()); + return custom_gradient_map.value(currentGradient()); } QString Data2DItem::currentGradient() const @@ -240,12 +239,11 @@ QPair<double, double> Data2DItem::dataRange() const double logRange = pow(10, zAxisItem()->logRangeOrders()); if (isLog()) { min = std::max(min, max / logRange); - max = max * 1.1; - } else { - max = max * 1.1; - } + max *= 1.1; + } else + max *= 1.1; - return QPair<double, double>(min, max); + return {min, max}; } const AmplitudeAxisItem* Data2DItem::zAxisItem() const @@ -370,7 +368,7 @@ const MaskContainerItem* Data2DItem::maskContainerItem() const MaskContainerModel* Data2DItem::getOrCreateMaskContainerModel() { if (!m_maskContainerModel) - m_maskContainerModel.reset(new MaskContainerModel(new MaskContainerItem)); + m_maskContainerModel = std::make_unique<MaskContainerModel>(new MaskContainerItem); return m_maskContainerModel.get(); } @@ -388,7 +386,7 @@ const ProjectionContainerItem* Data2DItem::projectionContainerItem() const MaskContainerModel* Data2DItem::getOrCreateProjectionContainerModel() { if (!m_maskContainerModel) - m_maskContainerModel.reset(new MaskContainerModel(new ProjectionContainerItem)); + m_maskContainerModel = std::make_unique<MaskContainerModel>(new ProjectionContainerItem); return m_maskContainerModel.get(); } diff --git a/GUI/Model/Data/DataItem.cpp b/GUI/Model/Data/DataItem.cpp index ae8ecc4ab67a33dddc5f1ca412e3f191d1493930..665e1e50cbfea1a8c59d5441aab275ac1e14a219 100644 --- a/GUI/Model/Data/DataItem.cpp +++ b/GUI/Model/Data/DataItem.cpp @@ -97,7 +97,7 @@ QString DataItem::loadDatafield(MessageService* messageService, const QString& p m_last_saved = m_last_modified; } catch (const std::exception& ex) { messageService->addWarning(this, QString(ex.what())); - return QString(ex.what()); + return ex.what(); } return {}; } @@ -166,19 +166,19 @@ void DataItem::setYrange(double lower, double upper) emit itemAxesRangeChanged(); } -void DataItem::checkXranges(DataItem* sourceItem) +void DataItem::checkXranges(DataItem* sourceItem) const { if (xSize() != sourceItem->xSize()) throw std::runtime_error("Data and simulation have different number of x bins"); } -void DataItem::checkYranges(DataItem* sourceItem) +void DataItem::checkYranges(DataItem* sourceItem) const { if (ySize() != sourceItem->ySize()) throw std::runtime_error("Data and simulation have different number of x bins"); } -void DataItem::checkXYranges(DataItem* sourceItem) +void DataItem::checkXYranges(DataItem* sourceItem) const { checkXranges(sourceItem); checkYranges(sourceItem); diff --git a/GUI/Model/Data/DataItem.h b/GUI/Model/Data/DataItem.h index aa5a8988938d1978bfd6e0bf49658abb8c18547b..4960a5284c7e9dae207cc4769b3d760205802959 100644 --- a/GUI/Model/Data/DataItem.h +++ b/GUI/Model/Data/DataItem.h @@ -84,9 +84,9 @@ public: void setYrange(double lower, double upper); // Adjust zoom range of this item to the other items range - void checkXranges(DataItem* sourceItem); - void checkYranges(DataItem* sourceItem); - void checkXYranges(DataItem* sourceItem); + void checkXranges(DataItem* sourceItem) const; + void checkYranges(DataItem* sourceItem) const; + void checkXYranges(DataItem* sourceItem) const; const BasicAxisItem* axItemX() const; BasicAxisItem* axItemX(); diff --git a/GUI/Model/Descriptor/AxisProperty.cpp b/GUI/Model/Descriptor/AxisProperty.cpp index 5695c8b1692a29ff133915c41ecc8a4c6acce8e3..ad3328b5e5f5a107b2fb587e6921c872b4e9678b 100644 --- a/GUI/Model/Descriptor/AxisProperty.cpp +++ b/GUI/Model/Descriptor/AxisProperty.cpp @@ -27,8 +27,6 @@ const QString ExpandGroupbox("ExpandGroupbox"); // obsolete since v22.0 } // namespace Tag } // namespace -using std::variant; - AxisProperty::AxisProperty() = default; void AxisProperty::initMin(const QString& label, const QString& tooltip, double value, diff --git a/GUI/Model/Descriptor/DistributionItems.cpp b/GUI/Model/Descriptor/DistributionItems.cpp index 583cc18b5a5c1df25cd641be9228734bbba69e0c..54d20b8d733f1af524c4b56598343f1527de1976 100644 --- a/GUI/Model/Descriptor/DistributionItems.cpp +++ b/GUI/Model/Descriptor/DistributionItems.cpp @@ -38,8 +38,6 @@ const QString BaseData("BaseData"); } // namespace Tag } // namespace -using std::variant; - DistributionItem::DistributionItem() = default; void DistributionItem::initRelSamplingWidth() diff --git a/GUI/Model/Descriptor/DoubleProperty.cpp b/GUI/Model/Descriptor/DoubleProperty.cpp index 602e9067c95bba83e10d862d19c561d1626e08c8..59d93d13ff7e4b177e48efc899d9fb4dd030982f 100644 --- a/GUI/Model/Descriptor/DoubleProperty.cpp +++ b/GUI/Model/Descriptor/DoubleProperty.cpp @@ -16,8 +16,6 @@ #include "GUI/Support/XML/UtilXML.h" #include <QUuid> -using std::variant; - void DoubleProperty::init(const QString& label, const QString& tooltip, double value, const QString& uidPrefix) { diff --git a/GUI/Model/Descriptor/SelectionProperty.h b/GUI/Model/Descriptor/SelectionProperty.h index 7e3839e6cd6d8d744164628b0ac9b1f59431deea..966855f73d108b696a67c5d8a5d37def1f7dc563 100644 --- a/GUI/Model/Descriptor/SelectionProperty.h +++ b/GUI/Model/Descriptor/SelectionProperty.h @@ -131,7 +131,7 @@ public: template <typename S, typename... ArgsForConstructor> S* setCurrentItem(ArgsForConstructor... argsForConstructor) { - S* s = new S(argsForConstructor...); + auto* s = new S(argsForConstructor...); if (s != nullptr && m_initializer) m_initializer(s, m_p.get()); m_p.reset(s); diff --git a/GUI/Model/Descriptor/VectorProperty.cpp b/GUI/Model/Descriptor/VectorProperty.cpp index a1c616b6fa682cf947bc4a8e8b8f8bab9993d350..fadc1e541c57e21a6b78e105f875b7e6d4430c97 100644 --- a/GUI/Model/Descriptor/VectorProperty.cpp +++ b/GUI/Model/Descriptor/VectorProperty.cpp @@ -26,8 +26,6 @@ const QString Z("Z"); } // namespace Tag } // namespace -using std::variant; - void VectorProperty::init(const QString& label, const QString& tooltip, const QString& uidPrefix) { init(label, tooltip, R3(), 3, 0.01, RealLimits::limitless(), uidPrefix); diff --git a/GUI/Model/Detector/DetectorItem.cpp b/GUI/Model/Detector/DetectorItem.cpp index 219c6716ef4041c94da648554cc0d4865d92c82a..d3f5081451c9bad55c12b264411e6da7e8462654 100644 --- a/GUI/Model/Detector/DetectorItem.cpp +++ b/GUI/Model/Detector/DetectorItem.cpp @@ -24,8 +24,6 @@ #include "GUI/Model/Mask/MaskItems.h" #include "GUI/Support/XML/Backup.h" -using Units::deg; - namespace { namespace Tag { @@ -90,7 +88,7 @@ std::unique_ptr<IDetector> DetectorItem::createDetector() const void DetectorItem::importMasks(const MaskContainerItem* item) { ASSERT(item); - m_maskContainerItem.reset(new MaskContainerItem); + m_maskContainerItem = std::make_unique<MaskContainerItem>(); GUI::Util::copyContents(item, m_maskContainerItem.get()); } diff --git a/GUI/Model/Job/FitParameterContainerItem.cpp b/GUI/Model/Job/FitParameterContainerItem.cpp index 1d488715dfe7b44e57acf71f956f8210d3d5fc18..732cdd67fb33b60bc5c9101690be4548cd378014 100644 --- a/GUI/Model/Job/FitParameterContainerItem.cpp +++ b/GUI/Model/Job/FitParameterContainerItem.cpp @@ -105,7 +105,7 @@ FitParameterContainerItem::fitParameterItem(const ParameterItem* parameterItem) QVector<FitParameterItem*> FitParameterContainerItem::fitParameterItems() const { - return QVector<FitParameterItem*>(m_fitParameterItems.begin(), m_fitParameterItems.end()); + return {m_fitParameterItems.begin(), m_fitParameterItems.end()}; } QStringList FitParameterContainerItem::fitParameterNames() const @@ -116,7 +116,7 @@ QStringList FitParameterContainerItem::fitParameterNames() const return result; } -void FitParameterContainerItem::removeLink(const ParameterItem* parameterItem) +void FitParameterContainerItem::removeLink(const ParameterItem* parameterItem) const { if (FitParameterItem* fitParItem = fitParameterItem(parameterItem)) fitParItem->removeLink(parameterItem->link()); @@ -124,13 +124,13 @@ void FitParameterContainerItem::removeLink(const ParameterItem* parameterItem) FitParameterItem* FitParameterContainerItem::createBareFitParameterItem() { - FitParameterItem* fitPar = new FitParameterItem(this); + auto* fitPar = new FitParameterItem(this); m_fitParameterItems.emplace_back(fitPar); updateFitParameterNames(); return fitPar; } -bool FitParameterContainerItem::isEmpty() +bool FitParameterContainerItem::isEmpty() const { return fitParameterItems().isEmpty(); } @@ -138,7 +138,7 @@ bool FitParameterContainerItem::isEmpty() //! Propagate values to the corresponding parameter tree items of parameterContainer. void FitParameterContainerItem::setValuesInParameterContainer( - const std::vector<double>& values, ParameterContainerItem* parameterContainer) + const std::vector<double>& values, ParameterContainerItem* parameterContainer) const { ASSERT(parameterContainer); diff --git a/GUI/Model/Job/FitParameterContainerItem.h b/GUI/Model/Job/FitParameterContainerItem.h index 4cd7fbb1d536529a8997287798814ec8c4828902..feba4747ada1f2f43093b799dc746f270c361954 100644 --- a/GUI/Model/Job/FitParameterContainerItem.h +++ b/GUI/Model/Job/FitParameterContainerItem.h @@ -57,13 +57,13 @@ public: //! Returns list of fit parameter display names QStringList fitParameterNames() const; - void removeLink(const ParameterItem* parameterItem); + void removeLink(const ParameterItem* parameterItem) const; FitParameterItem* createBareFitParameterItem(); - bool isEmpty(); + bool isEmpty() const; void setValuesInParameterContainer(const std::vector<double>& values, - class ParameterContainerItem* parameterContainer); + class ParameterContainerItem* parameterContainer) const; void pullValuesFromParameterContainer(class ParameterContainerItem* parameterContainer); mumufit::Parameters createParameters() const; diff --git a/GUI/Model/Job/FitParameterItem.cpp b/GUI/Model/Job/FitParameterItem.cpp index 4b754b7a2128e5573b6d45963e6207ac01882fc0..14537de50f7ef42b2dc844468f74f9d6f9b014d6 100644 --- a/GUI/Model/Job/FitParameterItem.cpp +++ b/GUI/Model/Job/FitParameterItem.cpp @@ -313,7 +313,7 @@ QObject* FitParameterItem::maximumItem() const FitParameterLinkItem* FitParameterItem::addLinkItem(const QString& title, const QString& link) { - FitParameterLinkItem* newLink = new FitParameterLinkItem(this); + auto* newLink = new FitParameterLinkItem(this); m_links.emplace_back(newLink); newLink->setTitle(title); diff --git a/GUI/Model/Model/DatafilesTree.cpp b/GUI/Model/Model/DatafilesTree.cpp index 4acb6acd5ed45bfa019cf8610c9ad7dccdfafd57..962e27000d4eb8ff19dfe87f43a96fb0310256a0 100644 --- a/GUI/Model/Model/DatafilesTree.cpp +++ b/GUI/Model/Model/DatafilesTree.cpp @@ -92,7 +92,7 @@ QModelIndex DatafilesTree::indexOfHeadline(int rank) const QModelIndex DatafilesTree::index(int row, int column, const QModelIndex& parent) const { if (!hasIndex(row, column, parent)) - return QModelIndex(); + return {}; if (!parent.isValid()) return createIndex(row, column, nullptr); @@ -101,16 +101,16 @@ QModelIndex DatafilesTree::index(int row, int column, const QModelIndex& parent) if (parent == indexOfHeadline(rank)) return createIndex(row, column, m_items[rank - 1][row]); - return QModelIndex(); + return {}; } QModelIndex DatafilesTree::parent(const QModelIndex& index) const { if (!index.isValid()) - return QModelIndex(); + return {}; if (index.internalPointer() == nullptr) // index is headline => no parent - return QModelIndex(); + return {}; return indexOfHeadline(itemForIndex(index)->rank()); } @@ -167,14 +167,14 @@ QVariant DatafilesTree::data(const QModelIndex& index, int role) const return qApp->palette().color(QPalette::Text); default: - return QVariant(); + return {}; } } auto* const item = itemForIndex(index); if (role == Qt::ToolTipRole) - return QString(); + return {}; if (role == Qt::DisplayRole) return item->realItemName(); @@ -182,7 +182,7 @@ QVariant DatafilesTree::data(const QModelIndex& index, int role) const if (role == Qt::EditRole) return item->realItemName(); - return QVariant(); + return {}; } Qt::ItemFlags DatafilesTree::flags(const QModelIndex& index) const @@ -224,13 +224,13 @@ DatafileItem* DatafilesTree::itemForIndex(const QModelIndex& index) const QModelIndex DatafilesTree::indexForItem(DatafileItem* item) const { if (item == nullptr) - return QModelIndex(); + return {}; const int rank = item->rank(); if (auto index = m_items[rank - 1].indexOf(item); index >= 0) return createIndex(index, 0, item); - return QModelIndex(); + return {}; } bool DatafilesTree::isHeadline(const QModelIndex& index) const diff --git a/GUI/Model/Model/FitParameterModel.cpp b/GUI/Model/Model/FitParameterModel.cpp index 0eba2f26ada4b126efbcff0f142d8eb14020f083..427e7a66bd822e3e6961c479cdb4a1eead94b8c1 100644 --- a/GUI/Model/Model/FitParameterModel.cpp +++ b/GUI/Model/Model/FitParameterModel.cpp @@ -76,7 +76,7 @@ QModelIndex FitParameterModel::index(int row, int column, const QModelIndex& par { if (!m_fitParameterContainer || row < 0 || column < 0 || column >= columnCount(QModelIndex()) || (parent.isValid() && parent.column() != COL_NAME)) - return QModelIndex(); + return {}; QObject* parent_item = itemForIndex(parent); ASSERT(parent_item); @@ -114,16 +114,16 @@ QModelIndex FitParameterModel::index(int row, int column, const QModelIndex& par if (FitParameterLinkItem* linkItem = links.at(row)) return createIndex(row, column, linkItem->linkItem()); } - return QModelIndex(); + return {}; } QModelIndex FitParameterModel::parent(const QModelIndex& child) const { if (!m_fitParameterContainer) - return QModelIndex(); + return {}; if (!child.isValid()) - return QModelIndex(); + return {}; if (QObject* child_item = itemForIndex(child)) { if (QObject* parent_item = child_item->parent()) { @@ -135,7 +135,7 @@ QModelIndex FitParameterModel::parent(const QModelIndex& child) const } } } - return QModelIndex(); + return {}; } int FitParameterModel::rowCount(const QModelIndex& parent) const @@ -177,10 +177,10 @@ int FitParameterModel::columnCount(const QModelIndex& parent) const QVariant FitParameterModel::data(const QModelIndex& index, int role) const { if (!m_fitParameterContainer) - return QVariant(); + return {}; if (!index.isValid() || index.column() < 0 || index.column() >= NUM_COLUMNS) - return QVariant(); + return {}; if (QObject* item = itemForIndex(index)) { if (role == Qt::DisplayRole || role == Qt::EditRole) { @@ -199,7 +199,7 @@ QVariant FitParameterModel::data(const QModelIndex& index, int role) const if (role == Qt::ToolTipRole && dynamic_cast<FitParameterLinkItem*>(item)) return valueOfItem(item); } - return QVariant(); + return {}; } bool FitParameterModel::setData(const QModelIndex& index, const QVariant& value, int role) @@ -300,7 +300,7 @@ QVariant FitParameterModel::headerData(int section, Qt::Orientation orientation, return m_columnNames.value(section); if (role == Qt::ToolTipRole) return m_columnToolTips.value(section); - return QVariant(); + return {}; } void FitParameterModel::onFitItemChanged() @@ -330,7 +330,7 @@ void FitParameterModel::addColumn(FitParameterModel::EColumn id, const QString& QModelIndex FitParameterModel::indexOfItem(QObject* item) const { if (!m_fitParameterContainer) - return QModelIndex(); + return {}; ASSERT(item); @@ -360,7 +360,7 @@ QModelIndex FitParameterModel::indexOfItem(QObject* item) const return createIndex(index, 0, item); } } - return QModelIndex(); + return {}; } QObject* FitParameterModel::itemForIndex(const QModelIndex& index) const @@ -383,7 +383,7 @@ QVariant FitParameterModel::valueOfItem(QObject* item) const if (auto* link = dynamic_cast<LinkItem*>(item)) return link->link(); - return QVariant(); + return {}; } void FitParameterModel::setValueOfItem(QObject* item, const QVariant& value) diff --git a/GUI/Model/Sample/MaterialModel.cpp b/GUI/Model/Sample/MaterialModel.cpp index 20b04fb00d9c3aba708b13f8c36842043aa0c433..de973e9ca66fb71a08af7c7c3ff854f63f0c8cf1 100644 --- a/GUI/Model/Sample/MaterialModel.cpp +++ b/GUI/Model/Sample/MaterialModel.cpp @@ -30,15 +30,15 @@ const QString Material("Material"); QColor suggestMaterialColor(const QString& name) { if (name.contains(materialMap.key(DefaultMaterials::Vacuum))) - return QColor(179, 242, 255); + return {179, 242, 255}; if (name.contains(materialMap.key(DefaultMaterials::Substrate))) - return QColor(205, 102, 0); + return {205, 102, 0}; if (name.contains(materialMap.key(DefaultMaterials::Default))) return QColor(Qt::green); if (name.contains(materialMap.key(DefaultMaterials::Core))) - return QColor(220, 140, 220); + return {220, 140, 220}; if (name.contains(materialMap.key(DefaultMaterials::Particle))) - return QColor(146, 198, 255); + return {146, 198, 255}; // return a random color static std::random_device r; diff --git a/GUI/Model/Sample/ParticleItem.h b/GUI/Model/Sample/ParticleItem.h index 68d6fa76fd29d12a72368e6c91ee5e6c0212107a..bc30ab9c20007a782b514172faac9091b5ddc93f 100644 --- a/GUI/Model/Sample/ParticleItem.h +++ b/GUI/Model/Sample/ParticleItem.h @@ -46,7 +46,7 @@ private: template <typename T> T* ParticleItem::setFormFactorItemType() { - T* p = new T(); + auto* p = new T(); setFormFactor(p); return p; } diff --git a/GUI/Support/Style/Style.cpp b/GUI/Support/Style/Style.cpp index 85fb7e92dd31896262f834c7aa9ac7be64b86082..fc45a89cadfc11354831dcabaab5b9273d56566b 100644 --- a/GUI/Support/Style/Style.cpp +++ b/GUI/Support/Style/Style.cpp @@ -27,7 +27,7 @@ QSize FindSizeOfLetterM(const QWidget* widget) auto em = fontMetric.horizontalAdvance('M'); auto fontAscent = fontMetric.ascent(); - return QSize(em, fontAscent); + return {em, fontAscent}; } QSize DefaultSizeOfLetterM() diff --git a/GUI/Support/Style/Style.h b/GUI/Support/Style/Style.h index ba0288ea68d32212dd3b8d3f581a5b7b44a9b676..1d11f8c92a08c6da4b3f6f31592cc1e25bd06949 100644 --- a/GUI/Support/Style/Style.h +++ b/GUI/Support/Style/Style.h @@ -15,10 +15,8 @@ #ifndef BORNAGAIN_GUI_SUPPORT_STYLE_STYLE_H #define BORNAGAIN_GUI_SUPPORT_STYLE_STYLE_H +#include <QDialog> #include <QFont> -#include <QLayout> -#include <QString> -#include <QTreeView> #include <QWidget> //! Mostly concerned with fonts diff --git a/GUI/View/Access/DataAccessWidget.cpp b/GUI/View/Access/DataAccessWidget.cpp index 8afae3f3de4e5d7732200494aec2fc91eb267b6b..4688a96a75133793f616ab7e15425efc00f232fe 100644 --- a/GUI/View/Access/DataAccessWidget.cpp +++ b/GUI/View/Access/DataAccessWidget.cpp @@ -137,14 +137,14 @@ QList<Data2DItem*> DataAccessWidget::allData2DItems() const Data1DItem* DataAccessWidget::currentData1DItem() const { - if (allData1DItems().size() == 0) + if (allData1DItems().empty()) return nullptr; return allData1DItems().first(); } Data2DItem* DataAccessWidget::currentData2DItem() const { - if (allData2DItems().size() == 0) + if (allData2DItems().empty()) return nullptr; return allData2DItems().first(); } diff --git a/GUI/View/Canvas/SpecularDataCanvas.cpp b/GUI/View/Canvas/SpecularDataCanvas.cpp index eebd2eacc892269c0104ee9f1559f48a808008bc..944ea4f567d1071964e8b9d17f71b6a3ad48957f 100644 --- a/GUI/View/Canvas/SpecularDataCanvas.cpp +++ b/GUI/View/Canvas/SpecularDataCanvas.cpp @@ -27,7 +27,7 @@ SpecularDataCanvas::SpecularDataCanvas(QWidget* parent) , m_reset_view_action(nullptr) , m_save_plot_action(nullptr) { - QVBoxLayout* vlayout = new QVBoxLayout(this); + auto* vlayout = new QVBoxLayout(this); vlayout->setContentsMargins(0, 0, 0, 0); vlayout->setSpacing(0); vlayout->addWidget(m_plot_canvas); @@ -62,12 +62,12 @@ void SpecularDataCanvas::setJobOrDatafileItem(QObject* item) QSize SpecularDataCanvas::sizeHint() const { - return QSize(500, 400); + return {500, 400}; } QSize SpecularDataCanvas::minimumSizeHint() const { - return QSize(128, 128); + return {128, 128}; } QList<QAction*> SpecularDataCanvas::actionList() diff --git a/GUI/View/Data/DatafileEditor.h b/GUI/View/Data/DatafileEditor.h index fc1bb5a722bc57a0c95df769d56cf6bd438780fd..24247aba14214cc856ace9ee0d0a0b2e10025532 100644 --- a/GUI/View/Data/DatafileEditor.h +++ b/GUI/View/Data/DatafileEditor.h @@ -32,8 +32,8 @@ class DatafileEditor : public QWidget { public: DatafileEditor(QWidget* parent, ProjectDocument* document); - QSize sizeHint() const override { return QSize(64, 135); } - QSize minimumSizeHint() const override { return QSize(64, 128); } + QSize sizeHint() const override { return {64, 135}; } + QSize minimumSizeHint() const override { return {64, 128}; } //! Set current DatafileItem to display in instrument selector. void setDatafileItem(DatafileItem* realItem); diff --git a/GUI/View/Data/Legacy1dDialog.cpp b/GUI/View/Data/Legacy1dDialog.cpp index 4dd0e1e63e6d52cc8119c1fe7aab8ac336ffa742..c77d6b8a43e8e4a2e19508cecda46fb53290fb3f 100644 --- a/GUI/View/Data/Legacy1dDialog.cpp +++ b/GUI/View/Data/Legacy1dDialog.cpp @@ -36,13 +36,13 @@ Legacy1dDialog::Legacy1dDialog(QWidget* parent, QString fname) auto* viewer = new DatafileInspector(this, fname); viewer->show(); - auto vbox = new QVBoxLayout; + auto* vbox = new QVBoxLayout; setLayout(vbox); - auto gridLayout = new QGridLayout; + auto* gridLayout = new QGridLayout; vbox->addLayout(gridLayout); - auto have_sR = new QCheckBox; + auto* have_sR = new QCheckBox; gridLayout->addWidget(have_sR, 2, 0); have_sR->setCheckState(Msettings.col_sR == 0 ? Qt::Unchecked : Qt::Checked); // connect statement is below, as it needs access to other widgets @@ -54,23 +54,23 @@ Legacy1dDialog::Legacy1dDialog(QWidget* parent, QString fname) gridLayout->addWidget(new QLabel("from column"), 0, 2); gridLayout->addWidget(new QLabel("from column"), 1, 2); - auto from_sR = new QLabel("from column"); // this one can be made invisible + auto* from_sR = new QLabel("from column"); // this one can be made invisible gridLayout->addWidget(from_sR, 2, 2); from_sR->setVisible(Msettings.col_sR != 0); - auto sb_Q = new QSpinBox; + auto* sb_Q = new QSpinBox; gridLayout->addWidget(sb_Q, 0, 3); sb_Q->setMinimum(1); sb_Q->setValue(Msettings.col_Q); connect(sb_Q, &QSpinBox::valueChanged, [&p = Msettings](int i) { p.col_Q = i; }); - auto sb_R = new QSpinBox; + auto* sb_R = new QSpinBox; gridLayout->addWidget(sb_R, 1, 3); sb_R->setMinimum(1); sb_R->setValue(Msettings.col_R); connect(sb_R, &QSpinBox::valueChanged, [&p = Msettings](int i) { p.col_R = i; }); - auto sb_sR = new QSpinBox; + auto* sb_sR = new QSpinBox; gridLayout->addWidget(sb_sR, 2, 3); sb_sR->setVisible(Msettings.col_sR != 0); sb_sR->setMinimum(1); @@ -86,13 +86,13 @@ Legacy1dDialog::Legacy1dDialog(QWidget* parent, QString fname) sb_sR->setValue(p.col_R + 1); }); - auto w21 = new QWidget; + auto* w21 = new QWidget; vbox->addWidget(w21); - auto form211 = new QFormLayout; + auto* form211 = new QFormLayout; w21->setLayout(form211); - auto linesToSkipEdit = new QLineEdit; + auto* linesToSkipEdit = new QLineEdit; form211->addRow("Ignore line numbers:", linesToSkipEdit); if (Msettings.linesToSkip.empty()) linesToSkipEdit->setPlaceholderText("Example: 1-5, 12"); @@ -101,7 +101,7 @@ Legacy1dDialog::Legacy1dDialog(QWidget* parent, QString fname) connect(linesToSkipEdit, &QLineEdit::textEdited, [&p = Msettings](const QString& text) { p.linesToSkip = text.toStdString(); }); - auto headerPrefixEdit = new QLineEdit; + auto* headerPrefixEdit = new QLineEdit; form211->addRow("Ignore lines starting with:", headerPrefixEdit); if (Msettings.headerPrefix.empty()) headerPrefixEdit->setPlaceholderText("#,//"); @@ -112,7 +112,7 @@ Legacy1dDialog::Legacy1dDialog(QWidget* parent, QString fname) const std::vector<std::string> qCoords{"q (1/nm)", "q(1/angstrom)", "alpha (rad)", "alpha (deg)", "2alpha (rad)", "2alpha (deg)"}; - auto qUnitCombo = new QComboBox; + auto* qUnitCombo = new QComboBox; form211->addRow("Ordinate given as:", qUnitCombo); qUnitCombo->addItem("q (1/nm)"); qUnitCombo->addItem("q (1/Å)"); @@ -128,28 +128,28 @@ Legacy1dDialog::Legacy1dDialog(QWidget* parent, QString fname) connect(qUnitCombo, &QComboBox::currentIndexChanged, [&p = Msettings, qCoords](int i) { p.xCoord = qCoords[i]; }); - auto sortCheckbox = new QCheckBox; + auto* sortCheckbox = new QCheckBox; sortCheckbox->setChecked(Msettings.sort); form211->addRow("Sort by Q", sortCheckbox); connect(sortCheckbox, &QCheckBox::toggled, [&p = Msettings](bool checked) { p.sort = checked; }); - auto negativeCheckbox = new QCheckBox; + auto* negativeCheckbox = new QCheckBox; negativeCheckbox->setChecked(Msettings.rm_negative); form211->addRow("Discard negative Q", negativeCheckbox); connect(negativeCheckbox, &QCheckBox::toggled, [&p = Msettings](bool checked) { p.rm_negative = checked; }); - auto duplicateCheckbox = new QCheckBox; + auto* duplicateCheckbox = new QCheckBox; duplicateCheckbox->setChecked(Msettings.rm_duplications); form211->addRow("Discard Q duplications", duplicateCheckbox); connect(duplicateCheckbox, &QCheckBox::toggled, [&p = Msettings](bool checked) { p.rm_duplications = checked; }); - auto buttonline = new QHBoxLayout; + auto* buttonline = new QHBoxLayout; vbox->addLayout(buttonline); - auto okButton = new QPushButton("OK"); + auto* okButton = new QPushButton("OK"); buttonline->addWidget(okButton); okButton->setDefault(true); connect(okButton, &QPushButton::clicked, this, &Legacy1dDialog::accept); diff --git a/GUI/View/FitControl/MinimizerSettingsWidget.cpp b/GUI/View/FitControl/MinimizerSettingsWidget.cpp index 7d0679af37355e536afe9a96a46efe03591dd3cf..d4ad6739e1110301e594267e89d2408fa8ea0bcb 100644 --- a/GUI/View/FitControl/MinimizerSettingsWidget.cpp +++ b/GUI/View/FitControl/MinimizerSettingsWidget.cpp @@ -83,7 +83,7 @@ void MinimizerSettingsWidget::setMinContainerItem(MinimizerContainerItem* contai void MinimizerSettingsWidget::createGroupedAlgorithmsCombo() { - QComboBox* comboBox = new QComboBox; + auto* comboBox = new QComboBox; QStringList list = m_containerItem->commonAlgorithmCombo().values(); // list with headers and separators diff --git a/GUI/View/Frame/MaskEditingFrame.cpp b/GUI/View/Frame/MaskEditingFrame.cpp index 14b0e8548a954ff68aaad8635c7eade2d013723b..98b5fec5bd00a42fc1c8f92ddbaa10d11e8c9f8f 100644 --- a/GUI/View/Frame/MaskEditingFrame.cpp +++ b/GUI/View/Frame/MaskEditingFrame.cpp @@ -32,7 +32,7 @@ MaskEditingFrame::MaskEditingFrame(QWidget* parent) { setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - QHBoxLayout* layout = new QHBoxLayout; + auto* layout = new QHBoxLayout; setLayout(layout); layout->setContentsMargins(0, 0, 0, 0); layout->setSpacing(0); diff --git a/GUI/View/Info/CautionSign.cpp b/GUI/View/Info/CautionSign.cpp index 323e26d6afda4985402040840d088a8679fddcbd..2614063b9b9d6a9185fd4c65733514a966d57851 100644 --- a/GUI/View/Info/CautionSign.cpp +++ b/GUI/View/Info/CautionSign.cpp @@ -113,5 +113,5 @@ QPoint CautionSign::positionForCautionSign() const } } - return QPoint(x, y); + return {x, y}; } diff --git a/GUI/View/Instrument/InstrumentLibraryEditor.cpp b/GUI/View/Instrument/InstrumentLibraryEditor.cpp index 4ab3a1cbeb42e06d70be77f24a6a292cb8fe307f..fa94c2d808474648df9fea1606df0f774729f5c5 100644 --- a/GUI/View/Instrument/InstrumentLibraryEditor.cpp +++ b/GUI/View/Instrument/InstrumentLibraryEditor.cpp @@ -222,7 +222,7 @@ void InstrumentLibraryEditor::createWidgetsForCurrentInstrument() return; } - QWidget* w = new QWidget(m_scrollArea); + auto* w = new QWidget(m_scrollArea); auto* layout = new QVBoxLayout(w); auto title = QString("Summary (%1 instrument)").arg(currentInstrument->instrumentType()); diff --git a/GUI/View/Instrument/InstrumentListing.cpp b/GUI/View/Instrument/InstrumentListing.cpp index cef624bea4649ea6e45371b2d36778404e2e0e27..7c7dd697a48cf7ab097be5c5c55711ac1d7d3ca1 100644 --- a/GUI/View/Instrument/InstrumentListing.cpp +++ b/GUI/View/Instrument/InstrumentListing.cpp @@ -110,12 +110,12 @@ InstrumentListing::~InstrumentListing() QSize InstrumentListing::sizeHint() const { - return QSize(170, 400); + return {170, 400}; } QSize InstrumentListing::minimumSizeHint() const { - return QSize(96, 200); + return {96, 200}; } QList<QAction*> InstrumentListing::toolbarActions() const diff --git a/GUI/View/Instrument/InstrumentView.cpp b/GUI/View/Instrument/InstrumentView.cpp index 0ce608985cb64474356f2f96cf6f4b7c2bb477f8..c51a70ce534b4da8fce4f944e09253ede30e6ed7 100644 --- a/GUI/View/Instrument/InstrumentView.cpp +++ b/GUI/View/Instrument/InstrumentView.cpp @@ -92,7 +92,7 @@ void InstrumentView::createWidgetsForCurrentInstrument() return; } - QWidget* w = new QWidget(m_scrollArea); + auto* w = new QWidget(m_scrollArea); auto* layout = new QVBoxLayout(w); //... Groupbox with instrument name and description (same layout for all instrument types) diff --git a/GUI/View/Instrument/InstrumentsTreeModel.cpp b/GUI/View/Instrument/InstrumentsTreeModel.cpp index d0bb5658b527987f311a658eb08d98748a18c1eb..bb7df5c9a1e3e20b55489232cec41aaad6df4d97 100644 --- a/GUI/View/Instrument/InstrumentsTreeModel.cpp +++ b/GUI/View/Instrument/InstrumentsTreeModel.cpp @@ -83,13 +83,13 @@ QModelIndex InstrumentsTreeModel::indexOfHeadline(InstrumentType type) const row++; } - return QModelIndex(); + return {}; } QModelIndex InstrumentsTreeModel::index(int row, int column, const QModelIndex& parent) const { if (!hasIndex(row, column, parent)) - return QModelIndex(); + return {}; if (!parent.isValid()) return createIndex(row, column, nullptr); @@ -98,23 +98,23 @@ QModelIndex InstrumentsTreeModel::index(int row, int column, const QModelIndex& if (parent == indexOfHeadline(type)) return createIndex(row, column, instrumentItemsOfType(type)[row]); - return QModelIndex(); + return {}; } QModelIndex InstrumentsTreeModel::parent(const QModelIndex& index) const { if (!index.isValid()) - return QModelIndex(); + return {}; if (index.internalPointer() == nullptr) // index is headline => no parent - return QModelIndex(); + return {}; auto* item = itemForIndex(index); for (auto type : ::types) if (instrumentItemsOfType(type).contains(item)) return indexOfHeadline(type); - return QModelIndex(); + return {}; } int InstrumentsTreeModel::columnCount(const QModelIndex& /*parent*/) const @@ -257,13 +257,13 @@ InstrumentItem* InstrumentsTreeModel::itemForIndex(const QModelIndex& index) con QModelIndex InstrumentsTreeModel::indexForItem(InstrumentItem* item) const { if (item == nullptr) - return QModelIndex(); + return {}; for (auto type : ::types) if (auto row = instrumentItemsOfType(type).indexOf(item); row >= 0) return createIndex(row, 0, item); - return QModelIndex(); + return {}; } void InstrumentsTreeModel::removeItem(InstrumentItem* item) diff --git a/GUI/View/Instrument/OffspecDetectorEditor.h b/GUI/View/Instrument/OffspecDetectorEditor.h index dd038116a05d156005810782667355d764216483..91fe371976c0fe863980933ea6ab20c7c808770b 100644 --- a/GUI/View/Instrument/OffspecDetectorEditor.h +++ b/GUI/View/Instrument/OffspecDetectorEditor.h @@ -23,7 +23,7 @@ class OffspecInstrumentItem; class OffspecDetectorEditor : public CollapsibleGroupBox { Q_OBJECT public: - OffspecDetectorEditor(QWidget* parent, OffspecInstrumentItem* item); + OffspecDetectorEditor(QWidget* parent, OffspecInstrumentItem* instrument); signals: void dataChanged(); diff --git a/GUI/View/Instrument/PolarizationAnalysisEditor.h b/GUI/View/Instrument/PolarizationAnalysisEditor.h index 34496da3345ab6db74f3c294277a604a3aa19fe4..944cf1439919967e8d807b7ed9f0fa1fab4b5d68 100644 --- a/GUI/View/Instrument/PolarizationAnalysisEditor.h +++ b/GUI/View/Instrument/PolarizationAnalysisEditor.h @@ -36,7 +36,7 @@ signals: private: DoubleSpinBox* createSpinBox(DoubleProperty& d); - void addBlochRow(QFormLayout* parentLayout, VectorProperty& d); + void addBlochRow(QFormLayout* parentLayout, VectorProperty& v); InstrumentItem* m_instrument; }; diff --git a/GUI/View/Job/JobProgressAssistant.h b/GUI/View/Job/JobProgressAssistant.h index 62c8ec67332170bf949c30dfe04d07840f23cad5..2f0d30b7b44b6d638c33f6d279ae256aa01f9362 100644 --- a/GUI/View/Job/JobProgressAssistant.h +++ b/GUI/View/Job/JobProgressAssistant.h @@ -26,7 +26,7 @@ class MainWindow; class JobProgressAssistant : public QObject { Q_OBJECT public: - JobProgressAssistant(QProgressBar* proressBar, JobModel* jobModel); + JobProgressAssistant(QProgressBar* progressBar, JobModel* jobModel); private slots: void onGlobalProgress(int progress); diff --git a/GUI/View/JobControl/JobPropertiesTableModel.cpp b/GUI/View/JobControl/JobPropertiesTableModel.cpp index 91fd845f07300781353ff1aeb967b241bf4327c3..1acad4122087fce2e1f403f27ff94d4218e38cf6 100644 --- a/GUI/View/JobControl/JobPropertiesTableModel.cpp +++ b/GUI/View/JobControl/JobPropertiesTableModel.cpp @@ -66,7 +66,7 @@ QVariant JobPropertiesTableModel::data(const QModelIndex& index, int role) const if ((role != Qt::DisplayRole && role != Qt::EditRole && role != Qt::ToolTipRole) || index.column() < 0 || index.column() >= NumColumns || index.row() < 0 || index.row() >= NumRows || !m_item) - return QVariant(); + return {}; switch (index.column()) { case Column::Name: @@ -93,14 +93,14 @@ QVariant JobPropertiesTableModel::data(const QModelIndex& index, int role) const std::optional<size_t> duration = m_item->duration(); if (duration) return QString("%1 s").arg(duration.value() / 1000., 0, 'f', 3); - return QVariant(); + return {}; } default: - return QVariant(); + return {}; } } default: - return QVariant(); + return {}; } } @@ -110,7 +110,7 @@ QVariant JobPropertiesTableModel::headerData(int section, Qt::Orientation orient if (role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < NumColumns) return ColumnNames[section]; - return QVariant(); + return {}; } Qt::ItemFlags JobPropertiesTableModel::flags(const QModelIndex& index) const diff --git a/GUI/View/JobControl/JobSelector.cpp b/GUI/View/JobControl/JobSelector.cpp index 0d602d416bdcba6987ccdf3a19615d6e2b9074d1..dc38b0d1595f8aca9cb4c53aac2b851168221d82 100644 --- a/GUI/View/JobControl/JobSelector.cpp +++ b/GUI/View/JobControl/JobSelector.cpp @@ -26,7 +26,7 @@ QVariant listToQVariant(const QList<int>& list) QList<QVariant> var_list; for (int val : list) var_list.push_back(QVariant(val)); - return QVariant(var_list); + return {var_list}; } QList<int> qVariantToList(const QVariant& var) diff --git a/GUI/View/MaterialEditor/MaterialEditorDialog.cpp b/GUI/View/MaterialEditor/MaterialEditorDialog.cpp index 8f683c32ef10bba00c493abf873bb72d9312b967..702429c4ee08cf045cfde869917e2f5203cce72b 100644 --- a/GUI/View/MaterialEditor/MaterialEditorDialog.cpp +++ b/GUI/View/MaterialEditor/MaterialEditorDialog.cpp @@ -272,7 +272,7 @@ QString MaterialEditorDialog::chooseMaterial(QWidget* parent, SampleItem* sample if (MaterialItem* material = dialog.currentMaterialItem()) return material->identifier(); - return QString(); + return {}; } void MaterialEditorDialog::addRefractiveMaterial() diff --git a/GUI/View/MaterialEditor/MaterialEditorModel.cpp b/GUI/View/MaterialEditor/MaterialEditorModel.cpp index 1c2855b7cbeca93a9f5a02a66a77316b2d1ff80d..dfdecc1feb8bd89ca53b6a4ed5810721876f807d 100644 --- a/GUI/View/MaterialEditor/MaterialEditorModel.cpp +++ b/GUI/View/MaterialEditor/MaterialEditorModel.cpp @@ -180,7 +180,7 @@ QModelIndex MaterialEditorModel::indexFromMaterial(const QString& identifier) co for (int row = 0; row < materials.size(); row++) if (materials[row]->identifier() == identifier) return index(row, 0); - return QModelIndex(); + return {}; } QModelIndex MaterialEditorModel::indexFromMaterial(const MaterialItem* m) const @@ -189,7 +189,7 @@ QModelIndex MaterialEditorModel::indexFromMaterial(const MaterialItem* m) const for (int row = 0; row < materials.size(); row++) if (materials[row] == m) return index(row, 0); - return QModelIndex(); + return {}; } QModelIndex MaterialEditorModel::first() const diff --git a/GUI/View/Numeric/ComboUtil.cpp b/GUI/View/Numeric/ComboUtil.cpp index 4898a34781e7fa5c983df64b2dd9e6e0d0ddebe2..4e36f8b324d97558eb0d0528593e4436da13a1d3 100644 --- a/GUI/View/Numeric/ComboUtil.cpp +++ b/GUI/View/Numeric/ComboUtil.cpp @@ -24,7 +24,7 @@ QComboBox* GUI::Util::createComboBox(function<ComboProperty()> comboFunction, function<void(const QString&)> slot, bool inScrollArea, QList<function<void()>>* updaters, QString tooltip) { - QComboBox* combo = new QComboBox; + auto* combo = new QComboBox; combo->addItems(comboFunction().values()); combo->setMaxCount(comboFunction().values().size()); combo->setToolTip(tooltip); diff --git a/GUI/View/Numeric/ComboUtil.h b/GUI/View/Numeric/ComboUtil.h index b7bbe81f14cd02a6de1e6203491725f17b3806dd..d737bb2bb1527041a57a7c5197bac2a8b9356d69 100644 --- a/GUI/View/Numeric/ComboUtil.h +++ b/GUI/View/Numeric/ComboUtil.h @@ -50,7 +50,7 @@ template <typename T> QComboBox* createComboBoxFromProperty(SelectionProperty<T> std::function<void(int)> slot, bool inScrollArea) { - QComboBox* combo = new QComboBox; + auto* combo = new QComboBox; combo->addItems(d.options()); combo->setMaxCount(d.options().size()); combo->setToolTip(d.tooltip()); diff --git a/GUI/View/Numeric/NumWidgetUtil.cpp b/GUI/View/Numeric/NumWidgetUtil.cpp index 1e75ab49d7740bc2910891744a28092b05010f20..f69ab4abcfc6d87bd47097630ac89b0c49778dbc 100644 --- a/GUI/View/Numeric/NumWidgetUtil.cpp +++ b/GUI/View/Numeric/NumWidgetUtil.cpp @@ -47,7 +47,7 @@ ScientificSpinBox* GUI::Util::createScientificSpinBox(QFormLayout* parentLayout, QCheckBox* GUI::Util::createCheckBox(const QString& title, function<bool()> getter, function<void(bool)> setter, QList<function<void()>>* updaters) { - QCheckBox* checkBox = new QCheckBox(title); + auto* checkBox = new QCheckBox(title); checkBox->setChecked(getter()); QObject::connect(checkBox, &QCheckBox::stateChanged, [=]() { setter(checkBox->isChecked()); }); @@ -65,7 +65,7 @@ QSpinBox* GUI::Util::createIntSpinbox(function<int()> getter, function<void(int) const RealLimits& limits, QString tooltip, QList<function<void()>>* updaters, bool easyScrollable) { - QSpinBox* spin = new QSpinBox; + auto* spin = new QSpinBox; spin->setFocusPolicy(Qt::StrongFocus); spin->setMinimum(limits.hasLowerLimit() ? limits.lowerLimit() @@ -94,7 +94,7 @@ QDoubleSpinBox* GUI::Util::createDoubleSpinbox(function<double()> getter, QList<function<void()>>* updaters, QString tooltip, const RealLimits& limits, bool easyScrollable) { - QDoubleSpinBox* spin = new QDoubleSpinBox; + auto* spin = new QDoubleSpinBox; spin->setFocusPolicy(Qt::StrongFocus); spin->setMinimum(limits.hasLowerLimit() ? limits.lowerLimit() : -std::numeric_limits<int>::max()); diff --git a/GUI/View/ParEdit/FitParameterDelegate.cpp b/GUI/View/ParEdit/FitParameterDelegate.cpp index dcb95f50cd4daccf0a1be0b8382255e782c35713..ce6a467e96afa634c8751b51420564aa725db9a6 100644 --- a/GUI/View/ParEdit/FitParameterDelegate.cpp +++ b/GUI/View/ParEdit/FitParameterDelegate.cpp @@ -60,7 +60,7 @@ QString toString(const QModelIndex& index) if (isDoubleProperty(variant) && index.internalPointer()) { auto* item = static_cast<QObject*>(index.internalPointer()); - FitDoubleItem* doubleItem = dynamic_cast<FitDoubleItem*>(item); + auto* doubleItem = dynamic_cast<FitDoubleItem*>(item); // only "Scientific SpinBoxes" in Fit-Window return ScientificSpinBox::toString(doubleItem->value(), doubleItem->decimals()); } @@ -71,7 +71,7 @@ QWidget* createEditor(QObject* item, QWidget* parent) { CustomEditor* result(nullptr); - if (FitDoubleItem* doubleItem = dynamic_cast<FitDoubleItem*>(item)) { + if (auto* doubleItem = dynamic_cast<FitDoubleItem*>(item)) { // only Scientific SpinBoxes in Fit-Window auto* editor = new ScientificSpinBoxEditor; editor->setLimits(doubleItem->limits()); diff --git a/GUI/View/Plotter/ColorMap.cpp b/GUI/View/Plotter/ColorMap.cpp index 63dbc0cad1dc8ac6a0bfcb82a6674fa38ab24028..67ad99c1f3f02259af75a5dd58834708b32d5d17 100644 --- a/GUI/View/Plotter/ColorMap.cpp +++ b/GUI/View/Plotter/ColorMap.cpp @@ -35,7 +35,7 @@ const int colorbar_width = 80; QCPRange qcpRange(double xmin, double xmax, int nbins) { double dx = (xmax - xmin) / nbins; - return QCPRange(xmin + dx / 2., xmax - dx / 2.); + return {xmin + dx / 2., xmax - dx / 2.}; } } // namespace diff --git a/GUI/View/Plotter/ColorMap.h b/GUI/View/Plotter/ColorMap.h index 740f4e2a2b9ade75377e504510f0b6e96e29b80e..68a5d5a7111d447c418f9a93036cd2e30ac095d7 100644 --- a/GUI/View/Plotter/ColorMap.h +++ b/GUI/View/Plotter/ColorMap.h @@ -36,8 +36,8 @@ public: void itemToMap(Data2DItem* item); - QSize sizeHint() const override { return QSize(500, 400); } - QSize minimumSizeHint() const override { return QSize(128, 128); } + QSize sizeHint() const override { return {500, 400}; } + QSize minimumSizeHint() const override { return {128, 128}; } QCPColorScale* colorScale() { return m_colorScale; } diff --git a/GUI/View/Plotter/ProjectionsPlot.cpp b/GUI/View/Plotter/ProjectionsPlot.cpp index 221508c6a5d8ca9ae4c01d9508bafdeff3e97bf5..869a4a40791c49a67a3337804034b780bdedbf34 100644 --- a/GUI/View/Plotter/ProjectionsPlot.cpp +++ b/GUI/View/Plotter/ProjectionsPlot.cpp @@ -176,7 +176,7 @@ void ProjectionsPlot::updateProjectionsData() void ProjectionsPlot::updateProjections() { ASSERT(m_data2DItem); - auto container_item = m_data2DItem->projectionContainerItem(); + auto* container_item = m_data2DItem->projectionContainerItem(); if (!container_item) return; auto projn_items = container_item->projectionsOfType(m_orientation); diff --git a/GUI/View/Plotter/RangeUtil.cpp b/GUI/View/Plotter/RangeUtil.cpp index cac9c4e5bb86efb68b062060c69f099c1aa9f74f..fe65fed449d9fd4a0e0d101a72a94f06892fcac5 100644 --- a/GUI/View/Plotter/RangeUtil.cpp +++ b/GUI/View/Plotter/RangeUtil.cpp @@ -23,7 +23,7 @@ namespace { double commonMin(const QList<AmplitudeAxisItem*>& axes) { double min = +std::numeric_limits<double>::max(); - for (auto axis : axes) + for (auto* axis : axes) if (min > axis->min()) min = axis->min(); return min; @@ -32,7 +32,7 @@ double commonMin(const QList<AmplitudeAxisItem*>& axes) double commonMax(const QList<AmplitudeAxisItem*>& axes) { double max = -std::numeric_limits<double>::max(); - for (auto axis : axes) + for (auto* axis : axes) if (max < axis->max()) max = axis->max(); return max; @@ -40,13 +40,13 @@ double commonMax(const QList<AmplitudeAxisItem*>& axes) QCPRange commonRange(const QList<AmplitudeAxisItem*>& axes) { - return QCPRange(commonMin(axes), commonMax(axes)); + return {commonMin(axes), commonMax(axes)}; } QList<AmplitudeAxisItem*> valueAxesFromData1DItems(const QList<Data1DItem*>& items) { QList<AmplitudeAxisItem*> axes; - for (auto item : items) + for (auto* item : items) axes.append(item->axItemY()); return axes; } @@ -54,7 +54,7 @@ QList<AmplitudeAxisItem*> valueAxesFromData1DItems(const QList<Data1DItem*>& ite QList<AmplitudeAxisItem*> valueAxesFromData2DItems(const QList<Data2DItem*>& items) { QList<AmplitudeAxisItem*> axes; - for (auto item : items) + for (auto* item : items) axes.append(item->zAxisItem()); return axes; } @@ -64,13 +64,13 @@ QList<AmplitudeAxisItem*> valueAxesFromData2DItems(const QList<Data2DItem*>& ite void GUI::View::RangeUtil::setCommonRangeY(QList<Data1DItem*> items) { QCPRange range = commonRange(valueAxesFromData1DItems(items)); - for (auto item : items) + for (auto* item : items) item->setYrange(range.lower, range.upper); } void GUI::View::RangeUtil::setCommonRangeZ(QList<Data2DItem*> items) { QCPRange range = commonRange(valueAxesFromData2DItems(items)); - for (auto item : items) + for (auto* item : items) item->setZrange(range.lower, range.upper); } diff --git a/GUI/View/Plotter/SpecularPlot.cpp b/GUI/View/Plotter/SpecularPlot.cpp index 0826b967ebfb09eee7e050b19f59f48d8face126..76f9dd60c74d3a6f6fadbd0f6e56770677f1806a 100644 --- a/GUI/View/Plotter/SpecularPlot.cpp +++ b/GUI/View/Plotter/SpecularPlot.cpp @@ -74,7 +74,7 @@ QList<Data1DItem*> SpecularPlot::data1DItems() const Data1DItem* SpecularPlot::currentData1DItem() const { - if (data1DItems().size() == 0) + if (data1DItems().empty()) return nullptr; return data1DItems().first(); @@ -104,18 +104,18 @@ void SpecularPlot::setLog() replot(); } -void SpecularPlot::onXaxisRangeChanged(QCPRange range) +void SpecularPlot::onXaxisRangeChanged(QCPRange range) const { - for (auto item : data1DItems()) + for (auto* item : data1DItems()) item->setXrange(range.lower, range.upper); gProjectDocument.value()->setModified(); if (currentData1DItem()) emit currentData1DItem()->updateOtherPlots(currentData1DItem()); } -void SpecularPlot::onYaxisRangeChanged(QCPRange range) +void SpecularPlot::onYaxisRangeChanged(QCPRange range) const { - for (auto item : data1DItems()) + for (auto* item : data1DItems()) item->setYrange(range.lower, range.upper); gProjectDocument.value()->setModified(); if (currentData1DItem()) @@ -130,12 +130,12 @@ void SpecularPlot::onTimeToReplot() void SpecularPlot::connectItems() { // data - for (auto item : data1DItems()) + for (auto* item : data1DItems()) connect(item, &DataItem::datafieldChanged, this, &SpecularPlot::initPlot, Qt::UniqueConnection); // units - for (auto item : data1DItems()) + for (auto* item : data1DItems()) connect(item, &DataItem::axesUnitsReplotRequested, this, &SpecularPlot::setPlot, Qt::UniqueConnection); @@ -161,7 +161,7 @@ void SpecularPlot::initPlot() m_qcp->clearPlottables(); // clear graphs and error bars m_graph_map.clear(); m_errorbar_map.clear(); - for (auto item : data1DItems()) { + for (auto* item : data1DItems()) { m_qcp->addGraph(); m_graph_map.insert(item, m_qcp->graph()); m_qcp->graph()->setLineStyle(item->lineStyle()); @@ -171,7 +171,7 @@ void SpecularPlot::initPlot() // create error bars const Datafield* data = item->c_field(); if (data && data->hasErrorSigmas()) { - QCPErrorBars* errorBars = new QCPErrorBars(m_qcp->xAxis, m_qcp->yAxis); + auto* errorBars = new QCPErrorBars(m_qcp->xAxis, m_qcp->yAxis); m_errorbar_map.insert(item, errorBars); errorBars->removeFromLegend(); errorBars->setAntialiased(false); @@ -222,7 +222,7 @@ void SpecularPlot::setUpdateTimerConnected(bool isConnected) void SpecularPlot::setPlot() { - for (auto item : data1DItems()) + for (auto* item : data1DItems()) setDataFromItem(item); setAxes(); setAxesLabels(); diff --git a/GUI/View/Plotter/SpecularPlot.h b/GUI/View/Plotter/SpecularPlot.h index e42af315ec168de17ebeb1371b092fd0e3a8194d..2899850f855f0d8860844310ac0589d72461ab4d 100644 --- a/GUI/View/Plotter/SpecularPlot.h +++ b/GUI/View/Plotter/SpecularPlot.h @@ -41,8 +41,8 @@ public: QList<Data1DItem*> data1DItems() const; Data1DItem* currentData1DItem() const; - QSize sizeHint() const override { return QSize(500, 400); } - QSize minimumSizeHint() const override { return QSize(128, 128); } + QSize sizeHint() const override { return {500, 400}; } + QSize minimumSizeHint() const override { return {128, 128}; } //! sets logarithmic scale void setLog(); @@ -51,10 +51,10 @@ public: private: //! Propagate xmin, xmax back to Data2DItem - void onXaxisRangeChanged(QCPRange range); + void onXaxisRangeChanged(QCPRange range) const; //! Propagate ymin, ymax back to Data2DItem - void onYaxisRangeChanged(QCPRange range); + void onYaxisRangeChanged(QCPRange range) const; //! Replots SpecularPlot. void onTimeToReplot(); diff --git a/GUI/View/ProShape/MaskUtil.cpp b/GUI/View/ProShape/MaskUtil.cpp index 63a1a0dad1ec84e4cad61c54e27f76461bec41a7..3b0df4040d2d2c249f3fa7304928765b8b05a619 100644 --- a/GUI/View/ProShape/MaskUtil.cpp +++ b/GUI/View/ProShape/MaskUtil.cpp @@ -25,21 +25,21 @@ QBrush MaskUtil::getSelectionMarkerBrush() QPen MaskUtil::getSelectionMarkerPen() { - return QPen(QColor(99, 162, 217)); + return {QColor(99, 162, 217)}; } QBrush MaskUtil::getMaskBrush(bool mask_value) { if (!mask_value) return Qt::NoBrush; - return QBrush(QColor(0, 0, 80)); // deep blue + return {QColor(0, 0, 80)}; // deep blue } QPen MaskUtil::getMaskPen(bool mask_value) { if (mask_value) - return QPen(QColor(165, 80, 76)); // dark red - return QPen(QColor(0, 140, 70)); // dark green + return {QColor(165, 80, 76)}; // dark red + return {QColor(0, 140, 70)}; // dark green } QRectF MaskUtil::getMarkerRectangle(const QPointF& pos) diff --git a/GUI/View/Realspace/RealspacePanel.cpp b/GUI/View/Realspace/RealspacePanel.cpp index 245e7dc6bc3f3c76ae3aab2cdc584666f26c1e42..7b9eee9081eef4edb0e0f167fe7e074c20684556 100644 --- a/GUI/View/Realspace/RealspacePanel.cpp +++ b/GUI/View/Realspace/RealspacePanel.cpp @@ -61,7 +61,7 @@ RealspacePanel::RealspacePanel(QWidget* parent) QSize RealspacePanel::sizeHint() const { - return QSize(300, 300); + return {300, 300}; } RealspaceWidget* RealspacePanel::widget() diff --git a/GUI/View/Sample/LayerEditorUtil.cpp b/GUI/View/Sample/LayerEditorUtil.cpp index dd74a9b9b2d20e98141b7e11c5177dea86616f22..8af34f21e4eb6095c941efd2a384cb4a408c07f0 100644 --- a/GUI/View/Sample/LayerEditorUtil.cpp +++ b/GUI/View/Sample/LayerEditorUtil.cpp @@ -66,7 +66,7 @@ void LayerEditorUtil::addMultiPropertyToGrid(QGridLayout* m_gridLayout, int firs { int col = firstCol; for (auto* d : valueProperties) { - DoubleSpinBox* editor = new DoubleSpinBox(*d); + auto* editor = new DoubleSpinBox(*d); QObject::connect(editor, &DoubleSpinBox::baseValueChanged, [setNewValue, d](double newValue) { setNewValue(newValue, *d); }); diff --git a/GUI/View/Sample/SampleListModel.cpp b/GUI/View/Sample/SampleListModel.cpp index 8f3f3356e8626fe40552cee27e62a97cdc0a8383..7918aec2b4213662ac3499c951c6a36acdadcfa2 100644 --- a/GUI/View/Sample/SampleListModel.cpp +++ b/GUI/View/Sample/SampleListModel.cpp @@ -61,7 +61,7 @@ QVariant SampleListModel::data(const QModelIndex& index, int role) const if (role == Qt::EditRole) return item->sampleName(); - return QVariant(); + return {}; } Qt::ItemFlags SampleListModel::flags(const QModelIndex& index) const @@ -105,7 +105,7 @@ QModelIndex SampleListModel::indexForItem(SampleItem* item) const if (auto row = m_sampleItems->sampleItems().indexOf(item); row >= 0) return index(row, 0); - return QModelIndex(); + return {}; } void SampleListModel::removeSample(SampleItem* item) diff --git a/GUI/View/Sample/SampleView.cpp b/GUI/View/Sample/SampleView.cpp index 3d0c356da28c1b1b91e57ea29d82bfa983d629ec..cf0103a6dbce7e1680493cec14295f87b55984e3 100644 --- a/GUI/View/Sample/SampleView.cpp +++ b/GUI/View/Sample/SampleView.cpp @@ -59,7 +59,7 @@ SampleView::SampleView(QWidget* parent, ProjectDocument* document) //... Right block: sample editor and bottom panels - QSplitter* vSplitter = new QSplitter; + auto* vSplitter = new QSplitter; vSplitter->setOrientation(Qt::Vertical); hLayout->addWidget(vSplitter); @@ -68,7 +68,7 @@ SampleView::SampleView(QWidget* parent, ProjectDocument* document) //... Below central widget: realspace and script panels - QSplitter* hSplitter = new QSplitter; + auto* hSplitter = new QSplitter; hSplitter->setOrientation(Qt::Horizontal); vSplitter->addWidget(hSplitter); diff --git a/GUI/View/Scene/MaskGraphicsScene.cpp b/GUI/View/Scene/MaskGraphicsScene.cpp index ca48591584d3ff07176229aa58e0a4485e536e25..b9401775480772d35ea3c8eb0dced09c36b4a7cf 100644 --- a/GUI/View/Scene/MaskGraphicsScene.cpp +++ b/GUI/View/Scene/MaskGraphicsScene.cpp @@ -663,7 +663,7 @@ void MaskGraphicsScene::processPolygonItem(QGraphicsSceneMouseEvent* event) if (!m_currentItem) { setDrawingInProgress(true); - PolygonItem* new_poly = new PolygonItem; + auto* new_poly = new PolygonItem; m_maskContainerModel->insertMask(0, new_poly); new_poly->setMaskValue(m_mask_value); m_currentItem.reset(new_poly); @@ -713,7 +713,7 @@ void MaskGraphicsScene::processLineItem(QGraphicsSceneMouseEvent* event) void MaskGraphicsScene::processVerticalLineItem(const QPointF& pos) { - VerticalLineItem* item = new VerticalLineItem; + auto* item = new VerticalLineItem; m_maskContainerModel->insertMask(0, item); m_currentItem.reset(item); item->setPosX(m_adaptor->fromSceneX(pos.x())); @@ -721,7 +721,7 @@ void MaskGraphicsScene::processVerticalLineItem(const QPointF& pos) void MaskGraphicsScene::processHorizontalLineItem(const QPointF& pos) { - HorizontalLineItem* item = new HorizontalLineItem; + auto* item = new HorizontalLineItem; m_maskContainerModel->insertMask(0, item); m_currentItem.reset(item); item->setPosY(m_adaptor->fromSceneY(pos.y())); @@ -732,7 +732,7 @@ void MaskGraphicsScene::processMaskAllItem(QGraphicsSceneMouseEvent* event) { Q_UNUSED(event); setDrawingInProgress(true); - MaskAllItem* item = new MaskAllItem; + auto* item = new MaskAllItem; m_maskContainerModel->insertMask(0, item); m_currentItem.reset(item); m_selectionModel->clearSelection(); diff --git a/GUI/View/Scene/MaskGraphicsView.h b/GUI/View/Scene/MaskGraphicsView.h index 18f546f90f0ad6f1494cf95e86715cd3210871b0..a56a19e26b27a87cd2776a7fada0af143b97f4ff 100644 --- a/GUI/View/Scene/MaskGraphicsView.h +++ b/GUI/View/Scene/MaskGraphicsView.h @@ -27,8 +27,8 @@ class MaskGraphicsView : public QGraphicsView { Q_OBJECT public: MaskGraphicsView(MaskGraphicsScene* scene, QWidget* parent = nullptr); - QSize sizeHint() const override { return QSize(512, 512); } - QSize minimumSizeHint() const override { return QSize(128, 128); } + QSize sizeHint() const override { return {512, 512}; } + QSize minimumSizeHint() const override { return {128, 128}; } public slots: void onResetViewRequest(); diff --git a/GUI/View/Setup/MaskEditorToolpanel.cpp b/GUI/View/Setup/MaskEditorToolpanel.cpp index 40366820baa8e663ed9058078b7f38bbe271dce2..be9d8bb0666da0785609a5cb2d1cfb75ff4633fc 100644 --- a/GUI/View/Setup/MaskEditorToolpanel.cpp +++ b/GUI/View/Setup/MaskEditorToolpanel.cpp @@ -209,7 +209,7 @@ void MaskEditorToolpanel::createMaskEditorUI() void MaskEditorToolpanel::addMaskSpinBox(const QString& label, function<double()> getter, function<void(double)> setter, const RealLimits& limits) { - QDoubleSpinBox* spinBox = new QDoubleSpinBox; + auto* spinBox = new QDoubleSpinBox; GUI::View::NumberUtil::configSpinbox(spinBox, 3, limits); spinBox->setValue(getter()); diff --git a/Img3D/Build/BuilderUtil.cpp b/Img3D/Build/BuilderUtil.cpp index 1f044e9db3120bf7279bcae9bf8bfdea342ed9a6..648210d0882ac0b370fb5c00856e162b9f9d591e 100644 --- a/Img3D/Build/BuilderUtil.cpp +++ b/Img3D/Build/BuilderUtil.cpp @@ -34,8 +34,8 @@ namespace { R3 to_kvector(const F3& origin) { - return R3(static_cast<double>(origin.x()), static_cast<double>(origin.y()), - static_cast<double>(origin.z())); + return {static_cast<double>(origin.x()), static_cast<double>(origin.y()), + static_cast<double>(origin.z())}; } //! Returns the Euler angles from an IRotation object. @@ -231,8 +231,8 @@ Particle3DContainer Img3D::BuilderUtils::mesocrystal3DContainer(Mesocrystal* con // These methods DO NOT add rotation/translation of the mesocrystal to its children // and hence they need to be added manually const auto lattice = *mesocrystal->particleStructure().lattice(); - auto* const particleBasis = mesocrystal->particleStructure().basis(); - auto* const outerShapeff = mesocrystal->outerShape(); + const auto* particleBasis = mesocrystal->particleStructure().basis(); + const auto* outerShapeff = mesocrystal->outerShape(); const auto* mesocrystal_rotation = M_clone->rotation(); auto mesocrystal_translation = M_clone->particlePosition(); diff --git a/Img3D/Mesh/Sphere.cpp b/Img3D/Mesh/Sphere.cpp index 78d34626b9ed3a0edc3218f8f0cf79791a985a26..8df5420f8553f7602c8b5073772616c82b4886ac 100644 --- a/Img3D/Mesh/Sphere.cpp +++ b/Img3D/Mesh/Sphere.cpp @@ -25,7 +25,7 @@ namespace Img3D { Geometry::Mesh Geometry::meshSphere(float cut, float baseShift, float removedTop) { if (1 <= cut) - return Mesh(); + return {}; cut = qMax(0.f, cut); ASSERT(0 <= cut && cut < 1); diff --git a/Img3D/Model/Particles.cpp b/Img3D/Model/Particles.cpp index 0a10e7163a039ea21fd470e5c648b41ccb0220e3..da75353644fc836b95d26fe91cbd79a77a11e09a 100644 --- a/Img3D/Model/Particles.cpp +++ b/Img3D/Model/Particles.cpp @@ -346,7 +346,8 @@ HorizontalCylinder::HorizontalCylinder(float R, float L, float s_b, float s_t) } PlatonicOctahedron::PlatonicOctahedron(float L) - : PlotParticle(Key(BaseShape::Bipyramid4, 1.0f, asin(sqrt(2.0f / 3)), 1.0f / sqrt(2.0f))) + : PlotParticle( + Key(BaseShape::Bipyramid4, 1.0f, std::asin(std::sqrt(2.0f / 3)), 1.0f / std::sqrt(2.0f))) { isNull = (L <= 0); scale = F3(L, L, L); @@ -359,7 +360,7 @@ PlatonicTetrahedron::PlatonicTetrahedron(float L) { isNull = (L <= 0); float D = L / sqrt3f; - scale = F3(D * 2, D * 2, L * sqrt(6.f) / 3); + scale = F3(D * 2, D * 2, L * std::sqrt(6.f) / 3); offset = F3(0, 0, 0); set(); } diff --git a/Img3D/Model/PlottableBody.cpp b/Img3D/Model/PlottableBody.cpp index edadcf894dbd30f545a6de2ec54e99230fc3b296..95b1f5e8e1d2aa94c06ffbe93967e8667df41126 100644 --- a/Img3D/Model/PlottableBody.cpp +++ b/Img3D/Model/PlottableBody.cpp @@ -51,7 +51,7 @@ Img3D::F3 QuaternionToEuler(const QQuaternion& q) const float y = 2 * std::atan(std::sqrt((b * b + c * c) / (a * a + d * d))); const float z = term1 - term2; - return Img3D::F3(x, y, z); + return {x, y, z}; } } // namespace diff --git a/Img3D/Type/CameraParams.cpp b/Img3D/Type/CameraParams.cpp index f0d4d81324e7eeaa74eff0fecef3514c0279ec62..44cf392edd3ff70ce87f35871c8d31651d3d41f7 100644 --- a/Img3D/Type/CameraParams.cpp +++ b/Img3D/Type/CameraParams.cpp @@ -35,8 +35,8 @@ CameraParams::CameraParams(const F3& eye_, const F3& ctr_, const F3& up_, QQuate CameraParams CameraParams::interpolateTo(const CameraParams& to, float r) const { - return CameraParams(interpolateF3(eye, to.eye, r), interpolateF3(ctr, to.ctr, r), - interpolateF3(up, to.up, r), QQuaternion::slerp(rot, to.rot, r)); + return {interpolateF3(eye, to.eye, r), interpolateF3(ctr, to.ctr, r), + interpolateF3(up, to.up, r), QQuaternion::slerp(rot, to.rot, r)}; } } // namespace Img3D diff --git a/Img3D/Type/FloatVector3D.cpp b/Img3D/Type/FloatVector3D.cpp index 8305a13f7d80f436de89446610ef34bf8d58c6da..96aa06314c76e997b9d91ebdeba056ecc0653b14 100644 --- a/Img3D/Type/FloatVector3D.cpp +++ b/Img3D/Type/FloatVector3D.cpp @@ -54,12 +54,12 @@ F3Range::F3Range(F3 _1, F3 _2) F3 F3Range::size() const { - return F3(x.size(), y.size(), z.size()); + return {x.size(), y.size(), z.size()}; } F3 F3Range::mid() const { - return F3(x.mid(), y.mid(), z.mid()); + return {x.mid(), y.mid(), z.mid()}; } float F3Range::length() const diff --git a/PyCore/Embed/PyInterpreter.cpp b/PyCore/Embed/PyInterpreter.cpp index 1a67baecef54bb7e07e1fb16db69fb7cf7a97fae..ce9ae84763ffb8facbd462a9b8a6ef100950468e 100644 --- a/PyCore/Embed/PyInterpreter.cpp +++ b/PyCore/Embed/PyInterpreter.cpp @@ -545,7 +545,7 @@ PyObjectPtr PyInterpreter::Numpy::arrayND(std::vector<std::size_t>& dimensions) ASSERT(dimensions[d]); npy_int ndim_numpy = static_cast<npy_int>(n_dims); - npy_intp* ndimsizes_numpy = new npy_intp[n_dims]; + auto* ndimsizes_numpy = new npy_intp[n_dims]; for (std::size_t d = 0; d < n_dims; ++d) ndimsizes_numpy[d] = dimensions[d]; diff --git a/Resample/Element/DiffuseElement.cpp b/Resample/Element/DiffuseElement.cpp index 4b50e37779875995f365c0dbf6527ccd2e5ea4f8..e2c0e51e69f8ccf9a3bd4296f7d2cec8dc07e649 100644 --- a/Resample/Element/DiffuseElement.cpp +++ b/Resample/Element/DiffuseElement.cpp @@ -38,8 +38,6 @@ DiffuseElement::DiffuseElement(double wavelength, double alpha_i, double phi_i, { } -DiffuseElement::~DiffuseElement() = default; - void DiffuseElement::setFluxes(const Fluxes* fluxes_in, const Fluxes* fluxes_out) { m_fluxes_in = fluxes_in; diff --git a/Resample/Element/DiffuseElement.h b/Resample/Element/DiffuseElement.h index 193fe3d7ee6caaa685749d33b9e804a674cf90e1..e4017b6b71b07a5e670dfbd03d9bf71a9a2ffe80 100644 --- a/Resample/Element/DiffuseElement.h +++ b/Resample/Element/DiffuseElement.h @@ -37,7 +37,6 @@ public: const Fluxes* fluxes_in = nullptr, const Fluxes* fluxes_out = nullptr); DiffuseElement(const DiffuseElement&) = delete; DiffuseElement(DiffuseElement&&) noexcept = default; - ~DiffuseElement(); void setFluxes(const Fluxes* fluxes_in, const Fluxes* fluxes_out); const IFlux* fluxIn(size_t i_layer) const; diff --git a/Resample/Element/SpecularElement.cpp b/Resample/Element/SpecularElement.cpp index 58f3797a2af43ef311eadd7a7c103e79356fe1c3..113965527b2e1b417ef419a203a8bf143397ad15 100644 --- a/Resample/Element/SpecularElement.cpp +++ b/Resample/Element/SpecularElement.cpp @@ -26,5 +26,3 @@ SpecularElement::SpecularElement(size_t i_out, bool computable, double weight, d , m_k(k) { } - -SpecularElement::~SpecularElement() = default; diff --git a/Resample/Element/SpecularElement.h b/Resample/Element/SpecularElement.h index 9045358b08c1f29d1354fb0fdbeea109c27273fe..b2408bab69a2e8cd6f8602f92277487dc6745b13 100644 --- a/Resample/Element/SpecularElement.h +++ b/Resample/Element/SpecularElement.h @@ -38,8 +38,6 @@ public: SpecularElement(const SpecularElement& other) = delete; SpecularElement(SpecularElement&& other) noexcept = default; - ~SpecularElement(); - size_t i_out() const { return m_i_out; } double weight() const { return m_weight; } double beamIntensity() const { return m_beamIntensity; } diff --git a/Resample/Slice/ProfileHelper.cpp b/Resample/Slice/ProfileHelper.cpp index 44ad29af92cf66c9eeddeee3779ffcd7336bb71b..5312263aa4ddbdcbe50ff588ac7f7c4403aa682a 100644 --- a/Resample/Slice/ProfileHelper.cpp +++ b/Resample/Slice/ProfileHelper.cpp @@ -57,8 +57,8 @@ complex_t quantity(const Material& mat, std::string q) } // namespace -ProfileHelper::ProfileHelper(const SliceStack& stack) - : m_stack(stack) +ProfileHelper::ProfileHelper(SliceStack stack) + : m_stack(std::move(stack)) { } diff --git a/Resample/Slice/ProfileHelper.h b/Resample/Slice/ProfileHelper.h index 52728a389bf558fd1114a18c80913dbe6f6a6ddd..9af689441949d0159ace0fc005c7f39b05759d41 100644 --- a/Resample/Slice/ProfileHelper.h +++ b/Resample/Slice/ProfileHelper.h @@ -29,7 +29,7 @@ class ProfileHelper { public: - ProfileHelper(const SliceStack& stack); + ProfileHelper(SliceStack stack); ~ProfileHelper() = default; std::vector<complex_t> calculateSLDProfile(const std::vector<double>& z_values) const; diff --git a/Resample/Specular/ComputeFluxMagnetic.cpp b/Resample/Specular/ComputeFluxMagnetic.cpp index ee38d7c4429445a637519bf465aae033dce64d48..a1d94e65f72e97facc82b36d70f289f5608d4b9a 100644 --- a/Resample/Specular/ComputeFluxMagnetic.cpp +++ b/Resample/Specular/ComputeFluxMagnetic.cpp @@ -14,13 +14,12 @@ #include "Resample/Specular/ComputeFluxMagnetic.h" #include "Base/Const/PhysicalConstants.h" +#include "Base/Math/Functions.h" #include "Base/Spin/SpinMatrix.h" #include "Base/Util/Assert.h" #include "Resample/Flux/MatrixFlux.h" #include "Resample/Slice/KzComputation.h" #include "Resample/Slice/SliceStack.h" -#include "Resample/Specular/TransitionMagneticNevot.h" -#include "Resample/Specular/TransitionMagneticTanh.h" #include "Sample/Interface/LayerRoughness.h" #include <algorithm> #include <numbers> @@ -33,6 +32,74 @@ namespace { constexpr double magnetic_prefactor = PhysConsts::m_n * PhysConsts::g_factor_n * PhysConsts::mu_N / PhysConsts::h_bar / PhysConsts::h_bar / 4. / pi * 1e-18; + +using std::numbers::pi; + +//! Returns refraction matrix blocks s_{ab}^+-. +//! See PhysRef, chapter "Polarized", section "InterTR_ace with tanh profile". +std::pair<SpinMatrix, SpinMatrix> refractionMatrixBlocksTanh(const MatrixFlux& TR_a, + const MatrixFlux& TR_b, double sigma) +{ + ASSERT(sigma > 0); + + const double sigeff = std::pow(pi / 2, 1.5) * sigma; + complex_t rau = std::sqrt(Math::tanhc(sigeff * TR_a.k_eigen_up())); + complex_t rad = std::sqrt(Math::tanhc(sigeff * TR_a.k_eigen_dn())); + complex_t rbu = std::sqrt(Math::tanhc(sigeff * TR_b.k_eigen_up())); + complex_t rbd = std::sqrt(Math::tanhc(sigeff * TR_b.k_eigen_dn())); + + SpinMatrix Rkk = + TR_b.eigenToMatrix({rbu * TR_b.k_eigen_up(), rbd * TR_b.k_eigen_dn()}) + * TR_a.eigenToMatrix({1. / rau / TR_a.k_eigen_up(), 1. / rad / TR_a.k_eigen_dn()}); + + SpinMatrix RInv = TR_a.eigenToMatrix({rau, rad}) * TR_b.eigenToMatrix({1. / rbu, 1. / rbd}); + + const SpinMatrix sp = (RInv + Rkk) / 2.; + const SpinMatrix sm = (RInv - Rkk) / 2.; + + return {sp, sm}; +} + +//! Returns refraction matrix blocks s_{ab}^+-. +//! See PhysRef, chapter "Polarized", section "Nevot-Croce approximation". +std::pair<SpinMatrix, SpinMatrix> refractionMatrixBlocksNevot(const MatrixFlux& TR_a, + const MatrixFlux& TR_b, double sigma) +{ + ASSERT(sigma > 0); + + auto roughness_matrix = [&TR_a, &TR_b, sigma](double sign) -> SpinMatrix { + complex_t alpha_a = TR_a.k_eigen_up() + TR_a.k_eigen_dn(); + complex_t alpha_b = TR_b.k_eigen_up() + TR_b.k_eigen_dn(); + complex_t beta_a = TR_a.k_eigen_up() - TR_a.k_eigen_dn(); + complex_t beta_b = TR_b.k_eigen_up() - TR_b.k_eigen_dn(); + + const complex_t alpha = alpha_b + sign * alpha_a; + C3 b = beta_b * TR_b.field() + sign * beta_a * TR_a.field(); + + auto square = [](auto& v) { return v.x() * v.x() + v.y() * v.y() + v.z() * v.z(); }; + complex_t beta = std::sqrt(square(b)); + if (std::abs(beta) < std::numeric_limits<double>::epsilon() * 10.) { + const complex_t alpha_pp = -(alpha * alpha) * sigma * sigma / 8.; + return {std::exp(alpha_pp), 0, 0, std::exp(alpha_pp)}; + } + + b /= beta; + + const complex_t alpha_pp = -(alpha * alpha + beta * beta) * sigma * sigma / 8.; + const complex_t beta_pp = -alpha * beta * sigma * sigma / 4.; + SpinMatrix Q(b.z() + 1., b.x() - I * b.y(), b.x() + I * b.y(), -1. - b.z()); + const SpinMatrix M(std::exp(beta_pp), 0, 0, std::exp(-beta_pp)); + + return std::exp(alpha_pp) * Q * M * Q.adjoint() / (2. * (1. + b.z())); + }; + + const auto kk = SpinMatrix(TR_a.computeInverseKappa() * TR_b.computeKappa()); + const auto sp = 0.5 * (SpinMatrix::One() + kk) * roughness_matrix(-1.); + const auto sm = 0.5 * (SpinMatrix::One() - kk) * roughness_matrix(+1.); + + return {sp, sm}; +} + double magneticSLD(R3 B_field) { return magnetic_prefactor * B_field.mag(); @@ -63,9 +130,9 @@ std::pair<SpinMatrix, SpinMatrix> refractionMatrixBlocks(const MatrixFlux& tr_a, } if (r_model == RoughnessModel::NEVOT_CROCE) - return Compute::refractionMatrixBlocksNevot(tr_a, tr_b, sigma); + return refractionMatrixBlocksNevot(tr_a, tr_b, sigma); - return Compute::refractionMatrixBlocksTanh(tr_a, tr_b, sigma); + return refractionMatrixBlocksTanh(tr_a, tr_b, sigma); } //! Split off from Compute::polarizedFluxes just to facilitate the conversion from diff --git a/Resample/Specular/TransitionMagneticNevot.cpp b/Resample/Specular/TransitionMagneticNevot.cpp deleted file mode 100644 index 065e8ecf8a269a8bbb1caf2910bac09d810f33bc..0000000000000000000000000000000000000000 --- a/Resample/Specular/TransitionMagneticNevot.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file Resample/Specular/TransitionMagneticNevot.cpp -//! @brief Implements namespace MagneticNevotCroceTransition. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2020 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#include "Resample/Specular/TransitionMagneticNevot.h" -#include "Base/Spin/SpinMatrix.h" -#include "Base/Util/Assert.h" -#include "Resample/Flux/MatrixFlux.h" - -//! Returns refraction matrix blocks s_{ab}^+-. -//! See PhysRef, chapter "Polarized", section "Nevot-Croce approximation". -std::pair<SpinMatrix, SpinMatrix> -Compute::refractionMatrixBlocksNevot(const MatrixFlux& TR_a, const MatrixFlux& TR_b, double sigma) -{ - ASSERT(sigma > 0); - - auto roughness_matrix = [&TR_a, &TR_b, sigma](double sign) -> SpinMatrix { - complex_t alpha_a = TR_a.k_eigen_up() + TR_a.k_eigen_dn(); - complex_t alpha_b = TR_b.k_eigen_up() + TR_b.k_eigen_dn(); - complex_t beta_a = TR_a.k_eigen_up() - TR_a.k_eigen_dn(); - complex_t beta_b = TR_b.k_eigen_up() - TR_b.k_eigen_dn(); - - const complex_t alpha = alpha_b + sign * alpha_a; - C3 b = beta_b * TR_b.field() + sign * beta_a * TR_a.field(); - - auto square = [](auto& v) { return v.x() * v.x() + v.y() * v.y() + v.z() * v.z(); }; - complex_t beta = std::sqrt(square(b)); - if (std::abs(beta) < std::numeric_limits<double>::epsilon() * 10.) { - const complex_t alpha_pp = -(alpha * alpha) * sigma * sigma / 8.; - return SpinMatrix(std::exp(alpha_pp), 0, 0, std::exp(alpha_pp)); - } - - b /= beta; - - const complex_t alpha_pp = -(alpha * alpha + beta * beta) * sigma * sigma / 8.; - const complex_t beta_pp = -alpha * beta * sigma * sigma / 4.; - SpinMatrix Q(b.z() + 1., b.x() - I * b.y(), b.x() + I * b.y(), -1. - b.z()); - const SpinMatrix M(std::exp(beta_pp), 0, 0, std::exp(-beta_pp)); - - return std::exp(alpha_pp) * Q * M * Q.adjoint() / (2. * (1. + b.z())); - }; - - const auto kk = SpinMatrix(TR_a.computeInverseKappa() * TR_b.computeKappa()); - const auto sp = 0.5 * (SpinMatrix::One() + kk) * roughness_matrix(-1.); - const auto sm = 0.5 * (SpinMatrix::One() - kk) * roughness_matrix(+1.); - - return {sp, sm}; -} diff --git a/Resample/Specular/TransitionMagneticNevot.h b/Resample/Specular/TransitionMagneticNevot.h deleted file mode 100644 index 16f5b9c5521e96ca64d5e72b29a88bc5038003f7..0000000000000000000000000000000000000000 --- a/Resample/Specular/TransitionMagneticNevot.h +++ /dev/null @@ -1,32 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file Resample/Specular/TransitionMagneticNevot.h -//! @brief Defines namespace MagneticNevotCroceTransition. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2020 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#ifdef SWIG -#error no need to expose this header to Swig -#endif // SWIG -#ifndef BORNAGAIN_RESAMPLE_SPECULAR_TRANSITIONMAGNETICNEVOT_H -#define BORNAGAIN_RESAMPLE_SPECULAR_TRANSITIONMAGNETICNEVOT_H - -#include <utility> // pair - -class MatrixFlux; -class SpinMatrix; - -namespace Compute { - -std::pair<SpinMatrix, SpinMatrix> -refractionMatrixBlocksNevot(const MatrixFlux& coeff_i, const MatrixFlux& coeff_i1, double sigma); -} - -#endif // BORNAGAIN_RESAMPLE_SPECULAR_TRANSITIONMAGNETICNEVOT_H diff --git a/Resample/Specular/TransitionMagneticTanh.cpp b/Resample/Specular/TransitionMagneticTanh.cpp deleted file mode 100644 index 0b0603420134a8d986c5852da3e41ae28e20cbcd..0000000000000000000000000000000000000000 --- a/Resample/Specular/TransitionMagneticTanh.cpp +++ /dev/null @@ -1,47 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file Resample/Specular/TransitionMagneticTanh.cpp -//! @brief Implements class SpecularMagneticTanhStrategy. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2020 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#include "Resample/Specular/TransitionMagneticTanh.h" -#include "Base/Math/Functions.h" -#include "Base/Spin/SpinMatrix.h" -#include "Base/Util/Assert.h" -#include "Resample/Flux/MatrixFlux.h" -#include <numbers> - -using std::numbers::pi; - -//! Returns refraction matrix blocks s_{ab}^+-. -//! See PhysRef, chapter "Polarized", section "InterTR_ace with tanh profile". -std::pair<SpinMatrix, SpinMatrix> -Compute::refractionMatrixBlocksTanh(const MatrixFlux& TR_a, const MatrixFlux& TR_b, double sigma) -{ - ASSERT(sigma > 0); - - const double sigeff = std::pow(pi / 2, 1.5) * sigma; - complex_t rau = std::sqrt(Math::tanhc(sigeff * TR_a.k_eigen_up())); - complex_t rad = std::sqrt(Math::tanhc(sigeff * TR_a.k_eigen_dn())); - complex_t rbu = std::sqrt(Math::tanhc(sigeff * TR_b.k_eigen_up())); - complex_t rbd = std::sqrt(Math::tanhc(sigeff * TR_b.k_eigen_dn())); - - SpinMatrix Rkk = - TR_b.eigenToMatrix({rbu * TR_b.k_eigen_up(), rbd * TR_b.k_eigen_dn()}) - * TR_a.eigenToMatrix({1. / rau / TR_a.k_eigen_up(), 1. / rad / TR_a.k_eigen_dn()}); - - SpinMatrix RInv = TR_a.eigenToMatrix({rau, rad}) * TR_b.eigenToMatrix({1. / rbu, 1. / rbd}); - - const SpinMatrix sp = (RInv + Rkk) / 2.; - const SpinMatrix sm = (RInv - Rkk) / 2.; - - return {sp, sm}; -} diff --git a/Resample/Specular/TransitionMagneticTanh.h b/Resample/Specular/TransitionMagneticTanh.h deleted file mode 100644 index 5092aca283e01c06263aedb21830e4ad2f3ff48e..0000000000000000000000000000000000000000 --- a/Resample/Specular/TransitionMagneticTanh.h +++ /dev/null @@ -1,32 +0,0 @@ -// ************************************************************************************************ -// -// BornAgain: simulate and fit reflection and scattering -// -//! @file Resample/Specular/TransitionMagneticTanh.h -//! @brief Defines namespace TransitionMagneticTanh. -//! -//! @homepage http://www.bornagainproject.org -//! @license GNU General Public License v3 or higher (see COPYING) -//! @copyright Forschungszentrum Jülich GmbH 2020 -//! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS) -// -// ************************************************************************************************ - -#ifdef SWIG -#error no need to expose this header to Swig -#endif // SWIG -#ifndef BORNAGAIN_RESAMPLE_SPECULAR_TRANSITIONMAGNETICTANH_H -#define BORNAGAIN_RESAMPLE_SPECULAR_TRANSITIONMAGNETICTANH_H - -#include <utility> // pair - -class MatrixFlux; -class SpinMatrix; - -namespace Compute { - -std::pair<SpinMatrix, SpinMatrix> -refractionMatrixBlocksTanh(const MatrixFlux& coeff_i, const MatrixFlux& coeff_i1, double sigma); -} - -#endif // BORNAGAIN_RESAMPLE_SPECULAR_TRANSITIONMAGNETICTANH_H diff --git a/Sample/Particle/PolyhedralUtil.cpp b/Sample/Particle/PolyhedralUtil.cpp index 614ad262dd27632ef2a6ed846ae263c1a9493afa..ed0836ce7222d7d206c4ab65fbafc9648af9d8de 100644 --- a/Sample/Particle/PolyhedralUtil.cpp +++ b/Sample/Particle/PolyhedralUtil.cpp @@ -20,7 +20,7 @@ Span PolyhedralUtil::spanZ(const std::vector<R3>& vertices, const IRotation* rotation) { - ASSERT(vertices.size()); + ASSERT(!vertices.empty()); const R3& v0 = vertices[0]; double z0 = (rotation ? rotation->transformed(v0) : v0).z(); Span result(z0, z0); diff --git a/Sample/Scattering/Rotations.h b/Sample/Scattering/Rotations.h index d5b4d6ee94d37c160da7be4dfb8ef696e0eb8608..d9aef6703885f6ed31acc9ec4f6c5d4e4b240fd4 100644 --- a/Sample/Scattering/Rotations.h +++ b/Sample/Scattering/Rotations.h @@ -24,7 +24,7 @@ class IRotation : public ICloneable, public INode { public: - static IRotation* createRotation(const RotMatrix& transform); + static IRotation* createRotation(const RotMatrix& matrix); IRotation(const std::vector<double>& PValues); diff --git a/Sample/Shapes/IShape3D.cpp b/Sample/Shapes/IShape3D.cpp index 17b221bfe2d9861049ef28b340b0c4156eec3ce1..dc6d18c44778baed3cfc41f3a090b4584b4b908d 100644 --- a/Sample/Shapes/IShape3D.cpp +++ b/Sample/Shapes/IShape3D.cpp @@ -69,9 +69,8 @@ std::vector<R3> EllipseVerticesXtrunc(double x, double r_y, double r_z, double z double y = r_y * std::cos(angle); double z = r_z * std::sin(angle) - z_b; // bottom is at 0, top at z_t-z_b - if (0 <= z && z <= (z_t - z_b)) { - result.push_back(R3(x, y, z)); - } + if (0 <= z && z <= (z_t - z_b)) + result.emplace_back(R3(x, y, z)); } double alpha_t = atan(z_t / sqrt(r_z * r_z - z_t * z_t) * r_z / r_y); double alpha_b = atan(z_b / sqrt(r_z * r_z - z_b * z_b) * r_z / r_y); @@ -79,10 +78,10 @@ std::vector<R3> EllipseVerticesXtrunc(double x, double r_y, double r_z, double z double y_t = r_y * std::cos(alpha_t); double y_b = r_y * std::cos(alpha_b); - result.push_back(R3(x, y_t, z_t - z_b)); - result.push_back(R3(x, -y_t, z_t - z_b)); - result.push_back(R3(x, y_b, 0)); - result.push_back(R3(x, -y_b, 0)); + result.emplace_back(R3(x, y_t, z_t - z_b)); + result.emplace_back(R3(x, -y_t, z_t - z_b)); + result.emplace_back(R3(x, y_b, 0)); + result.emplace_back(R3(x, -y_b, 0)); return result; } diff --git a/Sim/Export/MaterialKeyHandler.cpp b/Sim/Export/MaterialKeyHandler.cpp index c5854bde08b7aef5504c40717e1b9ff5f08a0056..7e2c9814cc5446bc950e51b4f1ec2c31cea2408d 100644 --- a/Sim/Export/MaterialKeyHandler.cpp +++ b/Sim/Export/MaterialKeyHandler.cpp @@ -26,7 +26,7 @@ void MaterialKeyHandler::insertMaterial(const Material* mat) m_Mat2Unique.emplace(mat, mat); const std::string key = "material_" + mat->materialName(); - ASSERT(!m_Key2Mat.count(key)); // material must not be exported more than once + ASSERT(!m_Key2Mat.contains(key)); // material must not be exported more than once m_Key2Mat.emplace(key, mat); } diff --git a/Sim/Export/SimulationToPython.cpp b/Sim/Export/SimulationToPython.cpp index a3d63d95a2ce9dcc8cd28b434471bb796ebb199e..748b7f2f7ea794d1314cff0b8b93706267316bc9 100644 --- a/Sim/Export/SimulationToPython.cpp +++ b/Sim/Export/SimulationToPython.cpp @@ -206,7 +206,7 @@ std::string defineBeamScan(const BeamScan& scan) result << defineQzScan(*s); else ASSERT_NEVER; - if (scan.intensity() != scan.defaultIntensity) + if (scan.intensity() != BeamScan::defaultIntensity) result << indent() << "scan.setIntensity(" << scan.intensity() << ")\n"; if (const IFootprint* fp = scan.footprint()) { result << defineFootprint(*fp); diff --git a/Sim/Fitting/SimDataPair.cpp b/Sim/Fitting/SimDataPair.cpp index 2643e62e297ec191620ca24f36d5e8a90d1c08f4..83914cc198e6bcc40747fe08f5eb3a787e541846 100644 --- a/Sim/Fitting/SimDataPair.cpp +++ b/Sim/Fitting/SimDataPair.cpp @@ -69,7 +69,7 @@ Datafield repositionData(const ScatteringSimulation& simulation, const Datafield throw std::runtime_error( "FitObject::init_dataset: Detector and experimental data have different shape"); - return Datafield(coordSystem.clonedAxes(), values, errors); + return {coordSystem.clonedAxes(), values, errors}; } } // namespace diff --git a/Sim/Scan/AlphaScan.cpp b/Sim/Scan/AlphaScan.cpp index 99dd755f6a14dcf64f7763f04e6ed8aa91b4364b..523bb233b8ad9d16bba63213057e3b2e6c77e13b 100644 --- a/Sim/Scan/AlphaScan.cpp +++ b/Sim/Scan/AlphaScan.cpp @@ -106,7 +106,7 @@ void AlphaScan::createBeams() { m_beams.clear(); for (size_t i = 0; i < nScan(); i++) { - Beam* beam = new Beam(defaultIntensity, defaultWavelength, m_axis->binCenter(i)); + auto* beam = new Beam(defaultIntensity, defaultWavelength, m_axis->binCenter(i)); m_beams.emplace_back(beam); } } diff --git a/Sim/Scan/BeamScan.cpp b/Sim/Scan/BeamScan.cpp index ff870e5ad134b73d00e2560897b00fa8824f6061..dcbca54b229bc8a5b3f5d8c0af76296e20bdbdac 100644 --- a/Sim/Scan/BeamScan.cpp +++ b/Sim/Scan/BeamScan.cpp @@ -22,9 +22,6 @@ #include "Device/Pol/PolFilter.h" #include "Resample/Slice/KzComputation.h" #include <iostream> -#include <numbers> - -using std::numbers::pi; BeamScan::BeamScan(Scale* axis) : m_axis(axis) @@ -55,7 +52,7 @@ std::vector<const INode*> BeamScan::nodeChildren() const void BeamScan::setAnalyzer(R3 Bloch_vector, double mean_transmission) { - m_polAnalyzer.reset(new PolFilter(Bloch_vector, mean_transmission)); + m_polAnalyzer = std::make_unique<PolFilter>(Bloch_vector, mean_transmission); } void BeamScan::setAnalyzer(R3 direction, double efficiency, double mean_transmission) @@ -80,10 +77,10 @@ double BeamScan::intensity() const return m_beams.front()->intensity(); } -void BeamScan::setIntensity(double val) +void BeamScan::setIntensity(double intensity) { for (auto& b : m_beams) - b->setIntensity(val); + b->setIntensity(intensity); } double BeamScan::intensityAt(size_t i) const @@ -91,12 +88,12 @@ double BeamScan::intensityAt(size_t i) const return m_beams[i]->intensity(); } -void BeamScan::setIntensityAt(size_t i, double val) +void BeamScan::setIntensityAt(size_t i, double intensity) { - m_beams[i]->setIntensity(val); + m_beams[i]->setIntensity(intensity); } -const R3 BeamScan::polarization() const +const R3& BeamScan::polarization() const { if (!isCommonPolarization()) throw std::runtime_error("Polarization changes during scan. " @@ -156,7 +153,7 @@ SpinMatrix BeamScan::analyzerMatrix() const Frame BeamScan::scanCoordSystem() const { - return Frame(coordinateAxis()->clone()); + return {coordinateAxis()->clone()}; } std::vector<complex_t> BeamScan::produceKz(const SliceStack& slices, R3 k) const diff --git a/Sim/Scan/BeamScan.h b/Sim/Scan/BeamScan.h index a4283b338de25d39957b82e37460e557372fbe33..8810f6b1826b4cc2abeaf2d18aca138a09687394 100644 --- a/Sim/Scan/BeamScan.h +++ b/Sim/Scan/BeamScan.h @@ -45,7 +45,7 @@ public: std::vector<const INode*> nodeChildren() const override; void setIntensity(double intensity); - void setIntensityAt(size_t i, double val); + void setIntensityAt(size_t i, double intensity); //! Sets the polarization density matrix according to the given Bloch vector void setPolarization(R3 bloch_vector); @@ -62,7 +62,7 @@ public: double intensity() const; double intensityAt(size_t i) const; - const R3 polarization() const; + const R3& polarization() const; R3 polarizationAt(size_t i) const; const IFootprint* footprint() const; diff --git a/Sim/Scan/LambdaScan.cpp b/Sim/Scan/LambdaScan.cpp index 4f7686ee2a9e05e9e71c1d7295ffe0eef5c6cc37..b8acb52ab15b39db9e51859568b1881e0b5c6f23 100644 --- a/Sim/Scan/LambdaScan.cpp +++ b/Sim/Scan/LambdaScan.cpp @@ -80,7 +80,7 @@ void LambdaScan::createBeams() { m_beams.clear(); for (size_t i = 0; i < nScan(); i++) { - Beam* beam = new Beam(defaultIntensity, m_axis->binCenter(i), defaultInclination); + auto* beam = new Beam(defaultIntensity, m_axis->binCenter(i), defaultInclination); m_beams.emplace_back(beam); } } diff --git a/Sim/Scan/PhysicalScan.cpp b/Sim/Scan/PhysicalScan.cpp index c1990712dc31006eabc457cbca736af76df2e22b..11b1f1d831ecb96d00126c9bd41cb596b3bfee9a 100644 --- a/Sim/Scan/PhysicalScan.cpp +++ b/Sim/Scan/PhysicalScan.cpp @@ -29,9 +29,9 @@ void PhysicalScan::copyPhysicalScan(PhysicalScan* dest) const { BeamScan::copyBeamScan(dest); if (m_lambda_distrib) - dest->setWavelengthDistribution(*m_lambda_distrib.get()); + dest->setWavelengthDistribution(*m_lambda_distrib); if (m_alpha_distrib) - dest->setAngleDistribution(*m_alpha_distrib.get()); + dest->setAngleDistribution(*m_alpha_distrib); } std::vector<const INode*> PhysicalScan::nodeChildren() const diff --git a/Sim/Scan/QzScan.cpp b/Sim/Scan/QzScan.cpp index fd18edf8176c381845ecfef8fb70c553d2246de1..c7e698ab6ee7cde46400c0e9b133e5f43e396873 100644 --- a/Sim/Scan/QzScan.cpp +++ b/Sim/Scan/QzScan.cpp @@ -23,8 +23,6 @@ #include <algorithm> // is_sorted #include <numbers> -using std::numbers::pi; - QzScan::QzScan(Scale* qs_nm) : BeamScan(qs_nm) { @@ -89,7 +87,7 @@ std::vector<SpecularElement> QzScan::generateElements() const const std::vector<ParameterSample> qzDistrib = m_qz_distrib->distributionSamples(); for (size_t j = 0; j < qzDistrib.size(); ++j) { double qz = q0; - ASSERT(m_resol_width.size() > 0); + ASSERT(!m_resol_width.empty()); if (m_relative_resolution) qz += q0 * m_resol_width[0] * qzDistrib[j].value; else if (m_resol_width.size() > 1) @@ -144,7 +142,7 @@ void QzScan::createBeams() // TODO use some shared function "qz2lambda" double lambda = 4.0 * std::numbers::pi * std::sin(defaultInclination) / m_axis->binCenter(i); - Beam* beam = new Beam(defaultIntensity, lambda, defaultInclination); + auto* beam = new Beam(defaultIntensity, lambda, defaultInclination); // Since the grazing geometry is not clear in q-space, the footprint should not be used beam->setFootprint(nullptr); m_beams.emplace_back(beam); diff --git a/Sim/Simulation/OffspecSimulation.cpp b/Sim/Simulation/OffspecSimulation.cpp index 6c251b9c0bff08bf6906f8c6dfdbc961b844e1f8..f97b4cfdee972c80f7c7950e4ad5d58b5a47bb8d 100644 --- a/Sim/Simulation/OffspecSimulation.cpp +++ b/Sim/Simulation/OffspecSimulation.cpp @@ -56,7 +56,7 @@ void OffspecSimulation::prepareSimulation() Frame OffspecSimulation::simCoordSystem() const { - return Frame(m_scan->coordinateAxis()->clone(), m_detector->axis(1).clone()); + return {m_scan->coordinateAxis()->clone(), m_detector->axis(1).clone()}; } //... Overridden executors: @@ -81,7 +81,7 @@ void OffspecSimulation::initDistributionHandler() void OffspecSimulation::runComputation(const ReSample& re_sample, size_t i, double weight) { - if (auto phys_scan = dynamic_cast<PhysicalScan*>(m_scan.get())) + if (auto* phys_scan = dynamic_cast<PhysicalScan*>(m_scan.get())) if (phys_scan->wavelengthDistribution() || phys_scan->alphaDistribution()) throw std::runtime_error( "Offspecular simulation supports neither alpha nor lambda distributions."); diff --git a/Tests/Unit/Base/FixedBinAxisTest.cpp b/Tests/Unit/Base/FixedBinAxisTest.cpp index 4ea80b4ba78c1ac1e3ee31291e4388606c5049c9..50ddc398a99e92ff7cf940f35e5a5cd9cb65bc6a 100644 --- a/Tests/Unit/Base/FixedBinAxisTest.cpp +++ b/Tests/Unit/Base/FixedBinAxisTest.cpp @@ -59,24 +59,24 @@ TEST(EquiDivisionTest, CheckBin) Bin1D bin0 = axis.bin(0); EXPECT_DOUBLE_EQ(0.25, bin0.center()); EXPECT_DOUBLE_EQ(0.0, bin0.min()); - EXPECT_DOUBLE_EQ(0.5, bin0.axn()); + EXPECT_DOUBLE_EQ(0.5, bin0.max()); EXPECT_DOUBLE_EQ(0.5, bin0.binSize()); Bin1D bin3 = axis.bin(3); EXPECT_DOUBLE_EQ(1.75, bin3.center()); EXPECT_DOUBLE_EQ(1.5, bin3.min()); - EXPECT_DOUBLE_EQ(2.0, bin3.axn()); + EXPECT_DOUBLE_EQ(2.0, bin3.max()); EXPECT_DOUBLE_EQ(0.5, bin3.binSize()); Bin1D bin10 = axis.bin(10); EXPECT_DOUBLE_EQ(5.25, bin10.center()); EXPECT_DOUBLE_EQ(5.0, bin10.min()); - EXPECT_DOUBLE_EQ(5.5, bin10.axn()); + EXPECT_DOUBLE_EQ(5.5, bin10.max()); Bin1D bin19 = axis.bin(19); EXPECT_DOUBLE_EQ(9.75, bin19.center()); EXPECT_DOUBLE_EQ(9.5, bin19.min()); - EXPECT_DOUBLE_EQ(10.0, bin19.axn()); + EXPECT_DOUBLE_EQ(10.0, bin19.max()); EXPECT_THROW(axis.bin(20), std::out_of_range);