Antenna gain pattern container holds all antenna patterns related to a satellite system. More...
#include "satellite-antenna-gain-pattern-container.h"
Public Types | |
| typedef std::map< std::pair< uint32_t, uint32_t >, SatBeamUserInfo > | BeamUserInfoMap_t |
| definition for beam map key is pair sat ID / beam ID and value is UT/user info. | |
Public Member Functions | |
| SatAntennaGainPatternContainer () | |
| Default constructor. | |
| SatAntennaGainPatternContainer (uint32_t nbSats, std::string patternsFolder) | |
| SatAntennaGainPatternContainer constructor. | |
| ~SatAntennaGainPatternContainer () | |
| void | ConfigureBeamsMobility (uint32_t satelliteId, Ptr< SatMobilityModel > mobility) |
| Ptr< SatAntennaGainPattern > | GetAntennaGainPattern (uint32_t beamId) const |
| Get the antenna pattern of a specified beam id. | |
| Ptr< SatMobilityModel > | GetAntennaMobility (uint32_t satelliteId) const |
| Get the mobility model of a specified satellite id. | |
| double | GetBeamGain (uint32_t satelliteId, uint32_t beamId, GeoCoordinate coord) |
| Get beam gain for given coordinates. | |
| 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. | |
| GeoCoordinate | GetDefaultGeoPosition () |
| Load the default satellite position associated to these traces. | |
| uint32_t | GetNAntennaGainPatterns () const |
| Get the number of stored antenna pattern. | |
| void | SetEnabledBeams (BeamUserInfoMap_t &info) |
Static Public Member Functions | |
| static TypeId | GetTypeId (void) |
| Get the type ID. | |
Private Attributes | |
| std::map< uint32_t, Ptr< SatAntennaGainPattern > > | m_antennaPatternMap |
| Container of antenna patterns. | |
| std::map< uint32_t, Ptr< SatMobilityModel > > | m_mobilityModelMap |
| Container of mobility models. | |
| std::string | m_patternsFolder |
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 50 of file satellite-antenna-gain-pattern-container.h.
| 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 75 of file satellite-antenna-gain-pattern-container.h.
| ns3::SatAntennaGainPatternContainer::SatAntennaGainPatternContainer | ( | ) |
Default constructor.
Not used.
Definition at line 60 of file satellite-antenna-gain-pattern-container.cc.
| ns3::SatAntennaGainPatternContainer::SatAntennaGainPatternContainer | ( | uint32_t | nbSats, |
| std::string | patternsFolder ) |
SatAntennaGainPatternContainer constructor.
| nbSats | Number of satellites to consider |
| patternsFolder | Path to folder containing the gains definition for each beam |
Definition at line 67 of file satellite-antenna-gain-pattern-container.cc.
References GetDefaultGeoPosition(), ns3::SatEnvVariables::GetInstance(), m_antennaPatternMap, m_patternsFolder, and numbers.
| ns3::SatAntennaGainPatternContainer::~SatAntennaGainPatternContainer | ( | ) |
Definition at line 163 of file satellite-antenna-gain-pattern-container.cc.
| void ns3::SatAntennaGainPatternContainer::ConfigureBeamsMobility | ( | uint32_t | satelliteId, |
| Ptr< SatMobilityModel > | mobility ) |
Definition at line 307 of file satellite-antenna-gain-pattern-container.cc.
References m_mobilityModelMap.
Referenced by SatAntennaPatternTestCase::DoRun().
| Ptr< SatAntennaGainPattern > ns3::SatAntennaGainPatternContainer::GetAntennaGainPattern | ( | uint32_t | beamId | ) | const |
Get the antenna pattern of a specified beam id.
| beamId | Beam identifier |
Definition at line 196 of file satellite-antenna-gain-pattern-container.cc.
References m_antennaPatternMap.
Referenced by SatAntennaPatternTestCase::DoRun().
| Ptr< SatMobilityModel > ns3::SatAntennaGainPatternContainer::GetAntennaMobility | ( | uint32_t | satelliteId | ) | const |
Get the mobility model of a specified satellite id.
| satelliteId | Satellite identifier |
Definition at line 212 of file satellite-antenna-gain-pattern-container.cc.
References m_mobilityModelMap.
| double ns3::SatAntennaGainPatternContainer::GetBeamGain | ( | uint32_t | satelliteId, |
| uint32_t | beamId, | ||
| GeoCoordinate | coord ) |
Get beam gain for given coordinates.
| satelliteId | ID of satellite |
| beamId | ID of beam |
| coord | Geo coordinate |
Definition at line 279 of file satellite-antenna-gain-pattern-container.cc.
References ns3::GeoCoordinate::GetLatitude(), ns3::GeoCoordinate::GetLongitude(), m_antennaPatternMap, and m_mobilityModelMap.
| 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.
| satelliteId | ID of satellite to search |
| coord | Geo coordinate |
| ignoreNan | Do not crash if a NaN value is returned |
Definition at line 229 of file satellite-antenna-gain-pattern-container.cc.
References ns3::GeoCoordinate::GetLatitude(), ns3::GeoCoordinate::GetLongitude(), m_antennaPatternMap, and m_mobilityModelMap.
Referenced by SatAntennaPatternTestCase::DoRun().
| GeoCoordinate ns3::SatAntennaGainPatternContainer::GetDefaultGeoPosition | ( | ) |
Load the default satellite position associated to these traces.
Must be in GeoPos.in
Definition at line 169 of file satellite-antenna-gain-pattern-container.cc.
References m_patternsFolder.
Referenced by SatAntennaGainPatternContainer().
| uint32_t ns3::SatAntennaGainPatternContainer::GetNAntennaGainPatterns | ( | ) | const |
Get the number of stored antenna pattern.
Definition at line 297 of file satellite-antenna-gain-pattern-container.cc.
References m_antennaPatternMap.
|
static |
Get the type ID.
Definition at line 52 of file satellite-antenna-gain-pattern-container.cc.
| void ns3::SatAntennaGainPatternContainer::SetEnabledBeams | ( | BeamUserInfoMap_t & | info | ) |
Definition at line 316 of file satellite-antenna-gain-pattern-container.cc.
References m_antennaPatternMap.
|
private |
Container of antenna patterns.
Definition at line 132 of file satellite-antenna-gain-pattern-container.h.
Referenced by SatAntennaGainPatternContainer(), GetAntennaGainPattern(), GetBeamGain(), GetBestBeamId(), GetNAntennaGainPatterns(), and SetEnabledBeams().
|
private |
Container of mobility models.
Definition at line 137 of file satellite-antenna-gain-pattern-container.h.
Referenced by ConfigureBeamsMobility(), GetAntennaMobility(), GetBeamGain(), and GetBestBeamId().
|
private |
Definition at line 127 of file satellite-antenna-gain-pattern-container.h.
Referenced by SatAntennaGainPatternContainer(), and GetDefaultGeoPosition().