// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESCLUTTER_REPORTINGPROVIDE_CLUTTER_ASSESSMENTDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESCLUTTER_REPORTINGPROVIDE_CLUTTER_ASSESSMENTDEFVAR #include "Common_Types.idl" #include "Requests.idl" #include "Clutter_Reporting.idl" module org { module omg { module c4i { module Service_Interfaces { module Sensor_Services { module Clutter_Reporting { // Contains operations and sequence diagrams for the Provide Clutter Assessment // interface. module Provide_Clutter_Assessment { // struct holding keys for class receive_clutter_assessment_type. struct receive_clutter_assessment_key_type { org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // Interface used by the CMS to receive a requested clutter assessment report from // the subsystem. // The radar reports visible clutter to the combat management system. The report // shall include a map (collection of cells) with information on range, azimuth, // elevation and intensity in platform relative coordinates. Clutter may be // classified by type, Land, Sea, Weather (optional), etc.. Intensity may be // indicated by linear signal-to-noise ratio (SNR), log-linear SNR, linear power // received, log-linear power received (e.g. dBm, dBW), linear Radar Cross Section // (square meters), or log-linear RCS (dbsm). // For radars which report clutter assessment without a CMS request, the CMS shall // begin to receive reports upon registration of the Provide Clutter Assessment // interface. struct receive_clutter_assessment_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 // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @Key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif org::omg::c4i::Domain_Model::Sensor_Domain::Clutter_Reporting::clutter_report_type clutter_report; }; #ifndef DDS_XTYPES #pragma keylist receive_clutter_assessment_type request_id subsystem_id #endif // struct holding keys for class provide_clutter_assessment_type. struct provide_clutter_assessment_key_type { org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // Interface used by the subsystem to receive a clutter assessment request from the // CMS. struct provide_clutter_assessment_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 // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @Key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif org::omg::c4i::Domain_Model::Sensor_Domain::Clutter_Reporting::clutter_assessment_request_type clutter_request; }; #ifndef DDS_XTYPES #pragma keylist provide_clutter_assessment_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif