//!;;Rpy::+
//!;;Rpy::ModelElement: iddheader::idd_cfar_settings
//!;;Rpy::
//!;;Rpy::Component: IDDComponent 
//!;;Rpy::Configuration: IDDConfig
//!;;Rpy::Project: IDD
//!;;Rpy::
//!;;Rpy::FilePath: idd_cfar_settings.h
//!;;Rpy::Tag: $Tag
//!;;Rpy::
//!;;Rpy::Copyright: Leonardocompany - COMPANY RESTRICTED
//!;;Rpy::
//!;;Rpy::Generated by Rhapsody: 7.5.3 
//!;;Rpy::-


#ifndef idd_cfar_settings_H
#define idd_cfar_settings_H

namespace iddheader
{
    //## package iddheader::idd_cfar_settings
    
    
    //#[ type cfar_settings_t
    enum cfar2d_scheme_t
    {
        cfar2d_scheme_CA = 0, // 0 = Cell Average
        cfar2d_scheme_GO,     // 1 = Greatest Of
        cfar2d_scheme_SO,     // 2 = Smallest Of
        cfar2d_scheme_BC      // 3 = Biparametric CFAR2D
    };
    
    enum cfar2d_geometry_id_t
    {
        cfar2d_geom_id_4ba = 1,   // 1 = 4 basic areas
        cfar2d_geom_id_2ba_dop,   // 2 = 2 basic areas along doppler
        cfar2d_geom_id_2ba_rng,   // 3 = 2 basic areas along range
        cfar2d_geom_id_ring       // 4 = ring
    };  
    
    enum cfar2d_pfa_t
    {
        pfa_aa_low = 0,         // 0 = AA low PFA  = C2D_AA_LOW_PFA
        pfa_low,                // 1 = low PFA    = C2D_LOW_PFA
        pfa_medium,             // 2 = medium PFA = C2D_MEDIUM_PFA
        pfa_high               // 3 = high PFA   = C2D_HIGH_PFA
    };
    
    
    struct cfar_sample_support_t
    {
    	unsigned int cfar_geometry_id;
    	unsigned int cfar_rng_dim;
    	unsigned int cfar_rng_guard;
    	unsigned int cfar_dop_dim;
    	unsigned int cfar_dop_guard;
    	unsigned int gradient;
    	unsigned int cfar_ring;
    };     
    
    struct cfar_sensing_t
    {
    	unsigned int min_rbin;
    	unsigned int max_rbin;
    	unsigned int min_filt;
    	unsigned int max_filt;
    }; 
    
    struct collapsing_t
    {
    	float max_coll_det;   
    	unsigned int coll_max_rng;
    	unsigned int coll_max_dop;
    };
    
    struct cfar_settings_t
    {
    	unsigned int n_rbin;
    	unsigned int n_fft;
    	unsigned int start_filt;
    	unsigned int stop_filt;
    	float doppler_notch;
    	unsigned int cfar_scheme;
    	unsigned int rbin_block_dim;    
    	struct cfar_sample_support_t sample_support;     
    	unsigned int pfa;
    	unsigned int rs_index;   
    	struct cfar_sensing_t cfar_sensing;
    	unsigned int num_sat;
    	unsigned int sat_vector;
    	unsigned int batch_id;
    	float antenna_az_ned;  
    	struct collapsing_t collapsing;  
    	float noise_level;
    	float guard_switch_flag;   
    	float cfar_2d_thr_ovr;
    	float grifo_gain; 
    	float grifo_gain_delta;	 
    };
    //#]
}

#endif
//;;Rpy:: end


