25#ifndef _NETSIM_LTENR_ANTENNAMODEL_H_
26#define _NETSIM_LTENR_ANTENNAMODEL_H_
33 LTENR_OMNIDIRECTIONAL,
36 static const char* strLTENR_ANTENNA_TYPE[] =
37 {
"Omnidirectional Antenna",
"Sector Antenna", };
41 LTENR_2D_PASSIVE_ANTENNA,
43 static const char* strLTENR_ANTENNA_MODEL[] =
44 {
"2D_Passive_Antenna_(per_3GPP_TR_37.840)", };
51 LTENR_ANTENNA_TYPE antennaType;
52 LTENR_ANTENNA_MODEL antennaModel;
54 double boresightAngle;
57 double frontToBackRatio;
59 UINT uplinkLayerCount;
60 UINT downlinkLayerCount;
65 void LTENR_CONFIGURE_ANTENNA(NETSIM_ID d, NETSIM_ID in, ptrLTENR_ANTENNA antenna,
void* xmlNetSimNode);
66 void LTENR_ANTENNA_SET_LAYER_COUNT(ptrLTENR_ANTENNA gnbAntenna, ptrLTENR_ANTENNA ueAntenna);
67 UINT LTENR_ANTENNA_GET_LAYER_COUNT(ptrLTENR_ANTENNA ueAntenna,
bool isUplink);
68 UINT LTENR_ANTENNA_GET_LAYER_COUNT_FOR_NONASSOCIATED_UE(ptrLTENR_ANTENNA gnBAntenna, ptrLTENR_ANTENNA ueAntenna,
bool isUplink);
70#define LTENR_PHY_GET_LAYER_COUNT(uePhy,isUplink) LTENR_ANTENNA_GET_LAYER_COUNT(uePhy->antenna,isUplink)
71#define LTENR_PHY_GET_DLLAYER_COUNT(uePhy) LTENR_PHY_GET_LAYER_COUNT(uePhy,false)
72#define LTENR_PHY_GET_ULLAYER_COUNT(uePhy) LTENR_PHY_GET_LAYER_COUNT(uePhy,true)
73#define LTENR_PHY_GET_LAYER_COUNT_FOR_NONASSOCIATED(gnbPhy,uePhy,isUplink) LTENR_ANTENNA_GET_LAYER_COUNT_FOR_NONASSOCIATED_UE(gnbPhy->antenna,uePhy->antenna,isUplink)
74#define LTENR_PHY_GET_DLLAYER_COUNT_FOR_NONASSOCIATED(gnbPhy,uePhy) LTENR_PHY_GET_LAYER_COUNT_FOR_NONASSOCIATED(gnbPhy,uePhy,false)
75#define LTENR_PHY_GET_ULLAYER_COUNT_FOR_NONASSOCIATED(gnbPhy,uePhy) LTENR_PHY_GET_LAYER_COUNT_FOR_NONASSOCIATED(gnbPhy,uePhy,true)