// 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 "Common_Types.idl"
#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
{
// struct holding keys for class interference_report_response_type.
struct interference_report_response_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;
};
// 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
// 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
// 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 subsystem_id
#endif
// struct holding keys for class volume_for_interference_reports_type.
struct volume_for_interference_reports_key_type
{
// The unique identifier for this request. This is referenced in acknowledgement and
// any error reporting regarding this definition of the volume of interest.
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;
};
// 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
// 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
// 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 subsystem_id
#endif
};
};
};
};
};
};
};
#endif