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 >, SatBeamUserInfo > | BeamUserInfoMap_t |
| definition for beam map key is pair sat ID / beam ID and value is UT/user info. More... | |
Public Member Functions | |
| SatAntennaGainPatternContainer () | |
| Default constructor. More... | |
| SatAntennaGainPatternContainer (uint32_t nbSats, std::string patternsFolder) | |
| SatAntennaGainPatternContainer constructor. More... | |
| ~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. More... | |
| Ptr< SatMobilityModel > | GetAntennaMobility (uint32_t satelliteId) const |
| Get the mobility model of a specified satellite id. More... | |
| double | GetBeamGain (uint32_t satelliteId, uint32_t beamId, GeoCoordinate coord) |
| Get beam gain for given coordinates. 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 |
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 76 of file satellite-antenna-gain-pattern-container.h.
| ns3::SatAntennaGainPatternContainer::SatAntennaGainPatternContainer | ( | ) |
Default constructor.
Not used.
Definition at line 67 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 74 of file satellite-antenna-gain-pattern-container.cc.
References GetDefaultGeoPosition(), m_antennaPatternMap, m_patternsFolder, and numbers.
Here is the call graph for this function:| ns3::SatAntennaGainPatternContainer::~SatAntennaGainPatternContainer | ( | ) |
Definition at line 170 of file satellite-antenna-gain-pattern-container.cc.
| void ns3::SatAntennaGainPatternContainer::ConfigureBeamsMobility | ( | uint32_t | satelliteId, |
| Ptr< SatMobilityModel > | mobility | ||
| ) |
Definition at line 314 of file satellite-antenna-gain-pattern-container.cc.
References m_mobilityModelMap.
Referenced by SatAntennaPatternTestCase::DoRun().
Here is the caller graph for this function:| Ptr< SatAntennaGainPattern > ns3::SatAntennaGainPatternContainer::GetAntennaGainPattern | ( | uint32_t | beamId | ) | const |
Get the antenna pattern of a specified beam id.
| beamId | Beam identifier |
Definition at line 203 of file satellite-antenna-gain-pattern-container.cc.
References m_antennaPatternMap.
Referenced by SatAntennaPatternTestCase::DoRun().
Here is the caller graph for this function:| Ptr< SatMobilityModel > ns3::SatAntennaGainPatternContainer::GetAntennaMobility | ( | uint32_t | satelliteId | ) | const |
Get the mobility model of a specified satellite id.
| satelliteId | Satellite identifier |
Definition at line 219 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 286 of file satellite-antenna-gain-pattern-container.cc.
References ns3::GeoCoordinate::GetLatitude(), ns3::GeoCoordinate::GetLongitude(), m_antennaPatternMap, and m_mobilityModelMap.
Here is the call graph for this function:| 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 236 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:| GeoCoordinate ns3::SatAntennaGainPatternContainer::GetDefaultGeoPosition | ( | ) |
Load the default satellite position associated to these traces.
Must be in GeoPos.in
Definition at line 176 of file satellite-antenna-gain-pattern-container.cc.
References m_patternsFolder.
Referenced by SatAntennaGainPatternContainer().
Here is the caller graph for this function:| TypeId ns3::SatAntennaGainPatternContainer::GetInstanceTypeId | ( | void | ) | const |
Definition at line 61 of file satellite-antenna-gain-pattern-container.cc.
References GetTypeId().
Here is the call graph for this function:| uint32_t ns3::SatAntennaGainPatternContainer::GetNAntennaGainPatterns | ( | ) | const |
Get the number of stored antenna pattern.
Definition at line 304 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.
Referenced by GetInstanceTypeId().
Here is the caller graph for this function:| void ns3::SatAntennaGainPatternContainer::SetEnabledBeams | ( | BeamUserInfoMap_t & | info | ) |
Definition at line 323 of file satellite-antenna-gain-pattern-container.cc.
References m_antennaPatternMap.
|
private |
Container of antenna patterns.
Definition at line 133 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 138 of file satellite-antenna-gain-pattern-container.h.
Referenced by ConfigureBeamsMobility(), GetAntennaMobility(), GetBeamGain(), and GetBestBeamId().
|
private |
Definition at line 128 of file satellite-antenna-gain-pattern-container.h.
Referenced by SatAntennaGainPatternContainer(), and GetDefaultGeoPosition().