// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH
#ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_PERFORMANCEPROVIDE_INTERFERENCE_REPORTSDEFVAR
#define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_PERFORMANCEPROVIDE_INTERFERENCE_REPORTSDEFVAR
#include "Coordinates_and_Positions.idl"
#include "Requests.idl"
#include "Shape_Model.idl"
#include "Sensor_Performance.idl"
module org
{
  module omg
  {
    module c4i
    {
      module Service_Interfaces
      {
        module Sensor_Services
        {
          module Sensor_Performance
          {
            module Provide_Interference_Reports
            {
              // Provides an updated set of interference reports to the CMS.
              // This describes the process whereby the subsystem provides a set of reports on
              // sources of interference, including jammers. The data shall, therefore, in
              // general, be non-real-time but should, where appropriate, be time-tagged and shall
              // be updated when any observed data changes.
              // The sensor need not be radiating but shall at least be receiving. The subsystem
              // VOI (volume of interest) or other filter mechanisms might be supplied in a
              // request to the subsystem
              // For a nominal effect assessment, the request might contain data on number,
              // strength/Effective Radiated Power (ERP), type and deployment of jammers and other
              // interferers affecting radar operations. For example, for each interferer
              // 
              //  - Sensor time-tag
 
              //  - Interference type - active noise, self-screening jammer, standoff jammer
              // etc
 
              //  - Strength/Effective Radiated Power
 
              //  - Locations - strobes etc.
 
              // 
              // 
              //  - Affected sectors
 
              //  - Frequency bands affected
 
              // 
              struct interference_report_response_type
              {
#ifdef DDS_XTYPES
                @Key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#else
                org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#endif
                // The report on interference
                org::omg::c4i::Domain_Model::Sensor_Domain::Sensor_Performance::interference_report_type interference_report;
              };
#ifndef DDS_XTYPES
#pragma keylist interference_report_response_type request_id
#endif
              // This allows definition of the volume in space which is of interest with regard to
              // the provision of interference reports.
              struct volume_for_interference_reports_type
              {
                // The unique identifier for this request. This is referenced in acknowledgement and
                // any error reporting regarding this definition of the volume of interest.
#ifdef DDS_XTYPES
                @Key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#else
                org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id;
#endif
                // The volume in space
                org::omg::c4i::Domain_Model::Common_Types::Shape_Model::polar_volume_type volume;
                // specifies the orientation of the polar volume
                org::omg::c4i::Domain_Model::Common_Types::Coordinates_and_Positions::coordinate_orientation_type coordinate_orientation;
              };
#ifndef DDS_XTYPES
#pragma keylist volume_for_interference_reports_type request_id
#endif
            };
          };
        };
      };
    };
  };
};
#endif