// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4IDOMAIN_MODELCOMMON_TYPESDEFVAR #define ORGOMGC4IDOMAIN_MODELCOMMON_TYPESDEFVAR #include "TimeBase.idl" module org { module omg { module c4i { module Domain_Model { // This package contains the types that are common to several areas of the model. // Most of the content is in three sub-packages: Coordinates_and_Positions, // Shape_Model and Requests. General types are captured at the top level. module Common_Types { // Representation for a general binary type typedef sequence anonymous_blob_type; // The confidence in the measurement or assessment expressed as a probability. This // is the result of a hypothesis test that the data is a measurement of real-world // phenomenon corresponding to its label. For an assessment it is the hypothesis // that the assessment describes the real-world. typedef float confidence_type; typedef unsigned short filter_id_type; // This class encapsulates the possible modes in which a filter can operate. enum filter_mode_type { // The filter is applied to transmission of data (plots or tracks). FILTER_TRANSMISSION, // The filter is applied to reception of data (plots or tracks). FILTER_RECEPTION, // The filter is applied to both transmission and reception of data (plots or // tracks). FILTER_BOTH }; // Identity according to STANAG 5516. enum identity_type { // Value pending the completion of the initial identification process PENDING, // Initial identification complete but identity is unknown. UNKNOWN, // Assumed to be a friend ASSUMED_FRIEND, // Known to be a friend FRIEND, // Known to be neutral NEUTRAL, // Suspected to be hostile SUSPECT, // Known to be hostile HOSTILE }; typedef float percentage_type; // An abstraction for a range of confidence values. struct confidence_interval_type { // The minimum inclusive value for the interval. confidence_type minimum; // The maximum inclusive value for the interval. confidence_type maximum; }; // Strength of the measurement (for a track or plot). The precise semantics of this // type are sensor subsystem specific, but a typical interpretation is as a signal // to noise ratio in dB. typedef unsigned short strength_type; // This type provides a unique id for different subsystems. Subsystem ids shall be // allocated by the platform integrator. Subsystem id equal to zero is reserved to // imply applicability to all and any subsystem. // The lowest two bytes are used for designating subsystems within local control of // a particular platform (e.g. a ship including any off-board sensors that it // controls). The highest two bytes designate a platform within a co-operating // task-force or group. (e.g. highest byte may designate country and the next // highest, one of a country's platforms). typedef unsigned long subsystem_id_type; // System Track Identification typedef unsigned long system_track_id_type; // based on start of Gregorian calendar (1582-10-15T 00:00UTC) // unit: 100 nano seconds // i.a.w CORBA Time Service Time T typedef org::omg::c4i::TimeBase::TimeT time_type; // The representation of the track's priority with respect to the allocation of the // sensor's resources. The meaning of track_priority_type is to assign a priority // among a set of tracks based on some criteria (i.e. subsystem's time dedicated to // a track analysis). Higher values indicate higher priority and importance and // hence that more resources should be extended. // Example of values: // 1 Track While Scan (TWS) // 2 Low Priority Target (LPT) // 3 High Priority Target (HPT) typedef unsigned short track_priority_type; // The representation of the quality of a track for the purposes of comparison // according to system specific criteria. typedef float track_quality_type; // An index indicating a particular frequency channel or band. The actual frequency // is typically not of concern to the command team. A band refers to a discrete // frequency or a range of frequencies; such bands may overlap. typedef unsigned short frequency_band_type; // An abstraction for a range of track quality values. struct quality_interval_type { // The minimum inclusive value for the interval. track_quality_type minimum; // The maximum inclusive value for the interval. track_quality_type maximum; }; }; }; }; }; }; #endif