A Discrete-Event Network Simulator
API
ns3::LrWpanInterferenceHelper Class Reference

This class provides helper functions for LrWpan interference handling. More...

#include "lr-wpan-interference-helper.h"

+ Inheritance diagram for ns3::LrWpanInterferenceHelper:
+ Collaboration diagram for ns3::LrWpanInterferenceHelper:

Public Member Functions

 LrWpanInterferenceHelper (Ptr< const SpectrumModel > spectrumModel)
 Create a new interference helper for the given SpectrumModel. More...
 
 ~LrWpanInterferenceHelper (void)
 
bool AddSignal (Ptr< const SpectrumValue > signal)
 Add the given signal to the set of accumulated signals. More...
 
void ClearSignals (void)
 Remove all currently accumulated signals. More...
 
Ptr< SpectrumValueGetSignalPsd (void) const
 Get the sum of all accumulated signals. More...
 
Ptr< const SpectrumModelGetSpectrumModel (void) const
 Get the SpectrumModel used by the helper. More...
 
bool RemoveSignal (Ptr< const SpectrumValue > signal)
 Remove the given signal to the set of accumulated signals. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< LrWpanInterferenceHelper >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= ([[maybe_unused]] const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Private Member Functions

 LrWpanInterferenceHelper (LrWpanInterferenceHelper const &)
 Copy constructor - defined and not implemented. More...
 
LrWpanInterferenceHelperoperator= (LrWpanInterferenceHelper const &)
 Copy constructor - defined and not implemented. More...
 

Private Attributes

bool m_dirty
 Mark m_signal as dirty, whenever a signal is added or removed. More...
 
Ptr< SpectrumValuem_signal
 The precomputed sum of all accumulated signals. More...
 
std::set< Ptr< const SpectrumValue > > m_signals
 The set of accumulated signals. More...
 
Ptr< const SpectrumModelm_spectrumModel
 The helpers SpectrumModel. More...
 

Detailed Description

This class provides helper functions for LrWpan interference handling.

Definition at line 38 of file lr-wpan-interference-helper.h.

Constructor & Destructor Documentation

◆ LrWpanInterferenceHelper() [1/2]

ns3::LrWpanInterferenceHelper::LrWpanInterferenceHelper ( Ptr< const SpectrumModel spectrumModel)

Create a new interference helper for the given SpectrumModel.

Parameters
spectrumModelthe SpectrumModel to be used

Definition at line 30 of file lr-wpan-interference-helper.cc.

References m_signal, and m_spectrumModel.

◆ ~LrWpanInterferenceHelper()

ns3::LrWpanInterferenceHelper::~LrWpanInterferenceHelper ( void  )

Definition at line 37 of file lr-wpan-interference-helper.cc.

References m_signal, m_signals, and m_spectrumModel.

◆ LrWpanInterferenceHelper() [2/2]

ns3::LrWpanInterferenceHelper::LrWpanInterferenceHelper ( LrWpanInterferenceHelper const &  )
private

Copy constructor - defined and not implemented.

Member Function Documentation

◆ AddSignal()

bool ns3::LrWpanInterferenceHelper::AddSignal ( Ptr< const SpectrumValue signal)

Add the given signal to the set of accumulated signals.

Never add the same signal more than once. The SpectrumModels of the signal and the one used for instantiation of the helper have to be the same.

Parameters
signalthe signal to be added
Returns
false, if the signal was not added because the SpectrumModel of the signal does not match the one of the helper, true otherwise.

Definition at line 45 of file lr-wpan-interference-helper.cc.

References m_dirty, m_signal, m_signals, m_spectrumModel, NS_LOG_FUNCTION, and test-ns3::result.

◆ ClearSignals()

void ns3::LrWpanInterferenceHelper::ClearSignals ( void  )

Remove all currently accumulated signals.

Definition at line 81 of file lr-wpan-interference-helper.cc.

References m_dirty, m_signals, and NS_LOG_FUNCTION.

◆ GetSignalPsd()

Ptr< SpectrumValue > ns3::LrWpanInterferenceHelper::GetSignalPsd ( void  ) const

Get the sum of all accumulated signals.

Returns
the sum of the signals

Definition at line 90 of file lr-wpan-interference-helper.cc.

References ns3::SpectrumValue::Copy(), m_dirty, m_signal, m_signals, m_spectrumModel, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ GetSpectrumModel()

Ptr<const SpectrumModel> ns3::LrWpanInterferenceHelper::GetSpectrumModel ( void  ) const

Get the SpectrumModel used by the helper.

Returns
the helpers SpectrumModel

◆ operator=()

LrWpanInterferenceHelper& ns3::LrWpanInterferenceHelper::operator= ( LrWpanInterferenceHelper const &  )
private

Copy constructor - defined and not implemented.

Returns

◆ RemoveSignal()

bool ns3::LrWpanInterferenceHelper::RemoveSignal ( Ptr< const SpectrumValue signal)

Remove the given signal to the set of accumulated signals.

Parameters
signalthe signal to be removed
Returns
false, if the signal was not removed (because it was not added before), true otherwise.

Definition at line 63 of file lr-wpan-interference-helper.cc.

References m_dirty, m_signals, m_spectrumModel, NS_LOG_FUNCTION, and test-ns3::result.

Member Data Documentation

◆ m_dirty

bool ns3::LrWpanInterferenceHelper::m_dirty
mutableprivate

Mark m_signal as dirty, whenever a signal is added or removed.

m_signal has to be recomputed before next use.

Definition at line 118 of file lr-wpan-interference-helper.h.

Referenced by AddSignal(), ClearSignals(), GetSignalPsd(), and RemoveSignal().

◆ m_signal

Ptr<SpectrumValue> ns3::LrWpanInterferenceHelper::m_signal
mutableprivate

The precomputed sum of all accumulated signals.

Definition at line 112 of file lr-wpan-interference-helper.h.

Referenced by LrWpanInterferenceHelper(), ~LrWpanInterferenceHelper(), AddSignal(), and GetSignalPsd().

◆ m_signals

std::set<Ptr<const SpectrumValue> > ns3::LrWpanInterferenceHelper::m_signals
private

The set of accumulated signals.

Definition at line 107 of file lr-wpan-interference-helper.h.

Referenced by ~LrWpanInterferenceHelper(), AddSignal(), ClearSignals(), GetSignalPsd(), and RemoveSignal().

◆ m_spectrumModel

Ptr<const SpectrumModel> ns3::LrWpanInterferenceHelper::m_spectrumModel
private

The documentation for this class was generated from the following files: