23#ifndef SATELLITE_PER_PACKET_INTERFERENCE_H
24#define SATELLITE_PER_PACKET_INTERFERENCE_H
92 virtual std::vector<std::pair<double, double>>
DoCalculate(
93 Ptr<SatInterference::InterferenceChangeEvent> event);
120 double interferenceValue,
132 virtual Ptr<SatInterference::InterferenceChangeEvent>
DoAdd(Time rxDuration,
146 virtual void DoNotifyRxStart(Ptr<SatInterference::InterferenceChangeEvent> event);
153 virtual void DoNotifyRxEnd(Ptr<SatInterference::InterferenceChangeEvent> event);
ChannelType_t
Types of channel.
SatInterference()
Constructor for Satellite interference base class.
virtual void DoReset(void)
Resets current interference.
bool m_rxing
flag to indicate that at least one receiving is on
double m_rxBandwidth_Hz
RX Bandwidth in Hz.
SatPerPacketInterference()
void SetRxBandwidth(double rxBandwidth)
long double m_residualPowerW
Residual power value for interference.
static TypeId GetTypeId(void)
~SatPerPacketInterference()
virtual void DoNotifyRxEnd(Ptr< SatInterference::InterferenceChangeEvent > event)
Notifies that RX is ended by a receiver.
InterferenceChanges m_interferenceChanges
interference change list
virtual void DoNotifyRxStart(Ptr< SatInterference::InterferenceChangeEvent > event)
Notifies that RX is started by a receiver.
uint32_t m_nextEventId
event id for Events
std::set< uint32_t > m_rxEventIds
notified interference event IDs
virtual void onInterferentEvent(long double timeRatio, double interferenceValue, double &ifPowerW)
Helper function meant for subclasses to override.
std::tuple< uint32_t, long double, bool > InterferenceChange
SatPerPacketInterference(const SatPerPacketInterference &o)
SatPerPacketInterference & operator=(const SatPerPacketInterference &o)
virtual std::vector< std::pair< double, double > > DoCalculate(Ptr< SatInterference::InterferenceChangeEvent > event)
Calculates interference power for the given reference Sets final power at end time to finalPower.
SatEnums::ChannelType_t m_channelType
std::multimap< Time, InterferenceChange > InterferenceChanges
virtual void onOwnStartReached(double ifPowerW)
Helper function meant for subclasses to override.
virtual Ptr< SatInterference::InterferenceChangeEvent > DoAdd(Time rxDuration, double rxPower, Address rxAddress)
Adds interference power to interference object.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.