21 #ifndef SATELLITE_ANTENNA_GAIN_PATTERN_CONTAINER_H_
22 #define SATELLITE_ANTENNA_GAIN_PATTERN_CONTAINER_H_
27 #include "ns3/satellite-beam-user-info.h"
37 class SatMobilityModel;
GeoCoordinate class is used to store and operate with geodetic coordinates.
Antenna gain pattern container holds all antenna patterns related to a satellite system.
double GetBeamGain(uint32_t satelliteId, uint32_t beamId, GeoCoordinate coord)
Get beam gain for given coordinates.
Ptr< SatAntennaGainPattern > GetAntennaGainPattern(uint32_t beamId) const
Get the antenna pattern of a specified beam id.
std::string m_patternsFolder
GeoCoordinate GetDefaultGeoPosition()
Load the default satellite position associated to these traces.
SatAntennaGainPatternContainer()
Default constructor.
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.
std::map< uint32_t, Ptr< SatAntennaGainPattern > > m_antennaPatternMap
Container of antenna patterns.
uint32_t GetNAntennaGainPatterns() const
Get the number of stored antenna pattern.
void SetEnabledBeams(BeamUserInfoMap_t &info)
~SatAntennaGainPatternContainer()
static TypeId GetTypeId(void)
Get the type ID.
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.
TypeId GetInstanceTypeId() const
void ConfigureBeamsMobility(uint32_t satelliteId, Ptr< SatMobilityModel > mobility)
Ptr< SatMobilityModel > GetAntennaMobility(uint32_t satelliteId) const
Get the mobility model of a specified satellite id.
std::map< uint32_t, Ptr< SatMobilityModel > > m_mobilityModelMap
Container of mobility models.
Class that holds information for each beam regarding UTs and their users camped in each beam.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.