#ifndef SPIRE_H #define SPIRE_H #include "Detector.h" namespace manticore { /** \brief SPIRE detector class. This is a concrete #Detector class representing the Herschel SPIRE photometer. This includes support for the 250, 350 and 500 micron bands. */ class SPIRE: public Detector { public: /// Default constructor. /// \param[in] band Wavelength band (microns). /// \param[in] extend Whether to use extended source detection properties. SPIRE(unsigned band = 250, bool extend = true) : Detector(extend), band_(band) { } /// Destructor. ~SPIRE() = default; virtual std::string name() const { return std::to_string(band_).insert(0, "SPIRE"); } virtual void init(); protected: static tableType band250, ///< Response table for the 250 micron band. band350, ///< Response table for the 350 micron band. band500; ///< Response table for the 500 micron band. unsigned band_; ///< Fiducial detector band (microns). }; } // namespace manticore #endif // SPIRE_H