7 #ifndef INCLUDED_LIBUHD_CAL_GAIN_HPP 
    8 #define INCLUDED_LIBUHD_CAL_GAIN_HPP 
   12 #include <boost/optional.hpp> 
   16 namespace uhd { 
namespace usrp { 
namespace cal {
 
   23     static constexpr uint32_t NUM_AMP         = 1;
 
   24     static constexpr uint32_t NUM_DSA         = 2 + NUM_AMP;
 
   25     static constexpr uint32_t NUM_GAIN_STAGES = 61;
 
   27     using sptr          = std::shared_ptr<zbx_tx_dsa_cal>;
 
   37     virtual void add_frequency_band(
const double max_freq,
 
   38         const std::string& name,
 
   39         std::array<step_settings, NUM_GAIN_STAGES> dsa_steps) = 0;
 
   50         const double freq, 
const size_t gain_index) 
const = 0;
 
   54     virtual bool is_same_band(
double freq1, 
double freq2) 
const = 0;
 
   60     virtual std::vector<uint32_t> get_band_settings(
double freq, uint8_t dsa) 
const = 0;
 
   65     virtual void clear() = 0;
 
   69         const std::string& name, 
const std::string& serial, 
const uint64_t timestamp);
 
   80     static constexpr uint32_t NUM_DSA         = 4;
 
   81     static constexpr uint32_t NUM_GAIN_STAGES = 61;
 
   83     using sptr          = std::shared_ptr<zbx_rx_dsa_cal>;
 
   93     virtual void add_frequency_band(
const double max_freq,
 
   94         const std::string& name,
 
   95         std::array<step_settings, NUM_GAIN_STAGES> dsa_steps) = 0;
 
   97     virtual bool is_same_band(
double freq1, 
double freq2) 
const = 0;
 
  107         const double freq, 
const size_t gain_index) 
const = 0;
 
  113     virtual std::vector<uint32_t> get_band_settings(
double freq, uint8_t dsa) 
const = 0;
 
  118     virtual void clear() = 0;
 
  122         const std::string& name, 
const std::string& serial, 
const uint64_t timestamp);