Program Listing for File SpecsynLib2D.hpp

↰ Return to documentation for file (src/specsyn/SpecsynLib2D.hpp)

#ifndef SPECSYNLIB2D_HPP
#define SPECSYNLIB2D_HPP

#include "Specsyn.hpp"
#include "SpecsynCommons.hpp"
#include "SpecsynLib.hpp"
#include <vector>

namespace io
{
    class SimControls;
} // namespace io

namespace specsyn
{

    template <OOBPolicy Policy>
    class SpecsynLib2D : public SpecsynLib<Policy>
    {
    public:

        explicit SpecsynLib2D(const io::SimControls& controls) :
            SpecsynLib<Policy>(controls) { }

        void resample(const std::vector<double>& wlNew) override;

    protected:

        [[nodiscard]] auto spec(double d2, double d3) const -> std::vector<double>;
    };

} // namespace specsyn

#endif // SPECSYNLIB2D_HPP