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. 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.
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().
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().
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.
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().
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().
TypeId ns3::SatAntennaGainPatternContainer::GetInstanceTypeId | ( | void | ) | const |
Definition at line 61 of file satellite-antenna-gain-pattern-container.cc.
References GetTypeId().
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().
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().