ns3::SatAntennaGainPatternContainer Class Reference

Antenna gain pattern container holds all antenna patterns related to a satellite system. More...

#include "satellite-antenna-gain-pattern-container.h"

+ Inheritance diagram for ns3::SatAntennaGainPatternContainer:
+ Collaboration diagram for ns3::SatAntennaGainPatternContainer:

Public Types

typedef std::map< std::pair< uint32_t, uint32_t >, SatBeamUserInfoBeamUserInfoMap_t
 definition for beam map key is pair sat ID / beam ID and value is UT/user info. More...
 

Public Member Functions

 SatAntennaGainPatternContainer (uint32_t nbSats=1)
 Default constructor. More...
 
 ~SatAntennaGainPatternContainer ()
 
void ConfigureBeamsMobility (uint32_t satelliteId, Ptr< SatMobilityModel > mobility)
 
Ptr< SatAntennaGainPatternGetAntennaGainPattern (uint32_t beamId) const
 Get the antenna pattern of a specified beam id. More...
 
Ptr< SatMobilityModelGetAntennaMobility (uint32_t satelliteId) const
 Get the mobility model of a specified beam id. More...
 
uint32_t GetBestBeamId (uint32_t satelliteId, GeoCoordinate coord, bool ignoreNan)
 Get the best beam id based on the antenna patterns in a specified geo coordinate. More...
 
GeoCoordinate GetDefaultGeoPosition ()
 Load the default satellite position associated to these traces. More...
 
TypeId GetInstanceTypeId () const
 
uint32_t GetNAntennaGainPatterns () const
 Get the number of stored antenna pattern. More...
 
void SetEnabledBeams (BeamUserInfoMap_t &info)
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Attributes

std::map< uint32_t, Ptr< SatAntennaGainPattern > > m_antennaPatternMap
 Container of antenna patterns. More...
 
std::map< uint32_t, Ptr< SatMobilityModel > > m_mobilityModelMap
 Container of mobility models. More...
 
std::string m_patternsFolder
 

Detailed Description

Antenna gain pattern container holds all antenna patterns related to a satellite system.

Current reference system consists of 72 spot-beams. It is assumed that all links use the same set of antenna patterns (forward feeder and user, return feeder and user). Each antenna gain pattern is stored in a separate class SatAntennaGainPattern. The best beam may be chosen based on the antenna patterns by using GetBestBeamId for a given position.

Definition at line 45 of file satellite-antenna-gain-pattern-container.h.

Member Typedef Documentation

◆ BeamUserInfoMap_t

typedef std::map<std::pair<uint32_t, uint32_t>, SatBeamUserInfo> ns3::SatAntennaGainPatternContainer::BeamUserInfoMap_t

definition for beam map key is pair sat ID / beam ID and value is UT/user info.

Definition at line 65 of file satellite-antenna-gain-pattern-container.h.

Constructor & Destructor Documentation

◆ SatAntennaGainPatternContainer()

ns3::SatAntennaGainPatternContainer::SatAntennaGainPatternContainer ( uint32_t  nbSats = 1)

Default constructor.

Parameters
nbSatsNumber of satellites to consider

Definition at line 68 of file satellite-antenna-gain-pattern-container.cc.

References GetDefaultGeoPosition(), m_antennaPatternMap, m_patternsFolder, and numbers.

+ Here is the call graph for this function:

◆ ~SatAntennaGainPatternContainer()

ns3::SatAntennaGainPatternContainer::~SatAntennaGainPatternContainer ( )

Definition at line 165 of file satellite-antenna-gain-pattern-container.cc.

Member Function Documentation

◆ ConfigureBeamsMobility()

void ns3::SatAntennaGainPatternContainer::ConfigureBeamsMobility ( uint32_t  satelliteId,
Ptr< SatMobilityModel mobility 
)

Definition at line 292 of file satellite-antenna-gain-pattern-container.cc.

References m_mobilityModelMap.

Referenced by SatAntennaPatternTestCase::DoRun().

+ Here is the caller graph for this function:

◆ GetAntennaGainPattern()

Ptr< SatAntennaGainPattern > ns3::SatAntennaGainPatternContainer::GetAntennaGainPattern ( uint32_t  beamId) const

Get the antenna pattern of a specified beam id.

Parameters
beamIdBeam identifier
Returns
The antenna gain pattern instance of the specified beam id

Definition at line 199 of file satellite-antenna-gain-pattern-container.cc.

References m_antennaPatternMap.

Referenced by SatAntennaPatternTestCase::DoRun().

+ Here is the caller graph for this function:

◆ GetAntennaMobility()

Ptr< SatMobilityModel > ns3::SatAntennaGainPatternContainer::GetAntennaMobility ( uint32_t  satelliteId) const

Get the mobility model of a specified beam id.

Parameters
satelliteIdSatellite identifier
Returns
The mobility model

Definition at line 215 of file satellite-antenna-gain-pattern-container.cc.

References m_mobilityModelMap.

◆ GetBestBeamId()

uint32_t ns3::SatAntennaGainPatternContainer::GetBestBeamId ( uint32_t  satelliteId,
GeoCoordinate  coord,
bool  ignoreNan 
)

Get the best beam id based on the antenna patterns in a specified geo coordinate.

Parameters
satelliteIdID of satellite to search
coordGeo coordinate
ignoreNanDo not crash if a NaN value is returned
Returns
best beam id in the specified geo coordinate

Definition at line 232 of file satellite-antenna-gain-pattern-container.cc.

References ns3::GeoCoordinate::GetLatitude(), ns3::GeoCoordinate::GetLongitude(), m_antennaPatternMap, and m_mobilityModelMap.

Referenced by SatAntennaPatternTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetDefaultGeoPosition()

GeoCoordinate ns3::SatAntennaGainPatternContainer::GetDefaultGeoPosition ( )

Load the default satellite position associated to these traces.

Must be in GeoPos.in

Returns
The satellite position

Definition at line 171 of file satellite-antenna-gain-pattern-container.cc.

References m_patternsFolder.

Referenced by SatAntennaGainPatternContainer().

+ Here is the caller graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::SatAntennaGainPatternContainer::GetInstanceTypeId ( void  ) const

Definition at line 62 of file satellite-antenna-gain-pattern-container.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetNAntennaGainPatterns()

uint32_t ns3::SatAntennaGainPatternContainer::GetNAntennaGainPatterns ( ) const

Get the number of stored antenna pattern.

Returns
The total number of antenna gain pattern instance

Definition at line 282 of file satellite-antenna-gain-pattern-container.cc.

References m_antennaPatternMap.

◆ GetTypeId()

TypeId ns3::SatAntennaGainPatternContainer::GetTypeId ( void  )
static

Get the type ID.

Returns
the object TypeId

Definition at line 46 of file satellite-antenna-gain-pattern-container.cc.

References m_patternsFolder.

Referenced by GetInstanceTypeId().

+ Here is the caller graph for this function:

◆ SetEnabledBeams()

void ns3::SatAntennaGainPatternContainer::SetEnabledBeams ( BeamUserInfoMap_t info)

Definition at line 301 of file satellite-antenna-gain-pattern-container.cc.

References m_antennaPatternMap.

Member Data Documentation

◆ m_antennaPatternMap

std::map<uint32_t, Ptr<SatAntennaGainPattern> > ns3::SatAntennaGainPatternContainer::m_antennaPatternMap
private

◆ m_mobilityModelMap

std::map<uint32_t, Ptr<SatMobilityModel> > ns3::SatAntennaGainPatternContainer::m_mobilityModelMap
private

Container of mobility models.

Definition at line 118 of file satellite-antenna-gain-pattern-container.h.

Referenced by ConfigureBeamsMobility(), GetAntennaMobility(), and GetBestBeamId().

◆ m_patternsFolder

std::string ns3::SatAntennaGainPatternContainer::m_patternsFolder
private

The documentation for this class was generated from the following files: