A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::SpectrumChannelHelper Class Reference

Setup a SpectrumChannel. More...

#include "spectrum-helper.h"

+ Collaboration diagram for ns3::SpectrumChannelHelper:

Public Member Functions

void AddPropagationLoss (Ptr< PropagationLossModel > m)
 Add a new single-frequency propagation loss model instance to this channel helper.
 
template<typename... Ts>
void AddPropagationLoss (std::string name, Ts &&... args)
 
void AddSpectrumPropagationLoss (Ptr< SpectrumPropagationLossModel > m)
 Add a new frequency-dependent propagation loss model instance to this channel helper.
 
template<typename... Ts>
void AddSpectrumPropagationLoss (std::string name, Ts &&... args)
 
Ptr< SpectrumChannelCreate () const
 
template<typename... Ts>
void SetChannel (std::string type, Ts &&... args)
 
template<typename... Ts>
void SetPropagationDelay (std::string name, Ts &&... args)
 

Static Public Member Functions

static SpectrumChannelHelper Default ()
 Setup a default SpectrumChannel.
 

Private Attributes

ObjectFactory m_channel
 Channel.
 
ObjectFactory m_propagationDelay
 Propagation delay.
 
Ptr< PropagationLossModelm_propagationLossModel
 Propagation loss model.
 
Ptr< SpectrumPropagationLossModelm_spectrumPropagationLossModel
 Spectrum propagation loss model.
 

Detailed Description

Setup a SpectrumChannel.

Definition at line 33 of file spectrum-helper.h.

Member Function Documentation

◆ AddPropagationLoss() [1/2]

void ns3::SpectrumChannelHelper::AddPropagationLoss ( Ptr< PropagationLossModel m)

Add a new single-frequency propagation loss model instance to this channel helper.

Parameters
ma pointer to the instance of the propagation loss model

Definition at line 33 of file spectrum-helper.cc.

References m_propagationLossModel.

◆ AddPropagationLoss() [2/2]

template<typename... Ts>
void ns3::SpectrumChannelHelper::AddPropagationLoss ( std::string  name,
Ts &&...  args 
)
Template Parameters
Ts[deduced] Argument types
Parameters
namethe name of the model to set
[in]argsName and AttributeValue pairs to set.

Add a new single-frequency propagation loss model to this channel helper.

Definition at line 178 of file spectrum-helper.h.

References AddPropagationLoss(), and Create().

Referenced by AddPropagationLoss().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddSpectrumPropagationLoss() [1/2]

void ns3::SpectrumChannelHelper::AddSpectrumPropagationLoss ( Ptr< SpectrumPropagationLossModel m)

Add a new frequency-dependent propagation loss model instance to this channel helper.

Parameters
ma pointer to the instance of the propagation loss model

Definition at line 40 of file spectrum-helper.cc.

References m_spectrumPropagationLossModel.

◆ AddSpectrumPropagationLoss() [2/2]

template<typename... Ts>
void ns3::SpectrumChannelHelper::AddSpectrumPropagationLoss ( std::string  name,
Ts &&...  args 
)
Template Parameters
Ts[deduced] Argument types
Parameters
namethe name of the model to set
[in]argsName and AttributeValue pairs to set.

Add a new frequency-dependent propagation loss model to this channel helper.

Definition at line 187 of file spectrum-helper.h.

References AddSpectrumPropagationLoss(), and Create().

Referenced by AddSpectrumPropagationLoss().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Create()

Ptr< SpectrumChannel > ns3::SpectrumChannelHelper::Create ( ) const
Returns
a new channel

Create a channel based on the configuration parameters set previously.

Definition at line 47 of file spectrum-helper.cc.

References ns3::ObjectFactory::Create(), Create(), m_channel, m_propagationDelay, m_propagationLossModel, and m_spectrumPropagationLossModel.

Referenced by visualizer.ipython_view.ConsoleView::__init__(), show_last_packets.ShowLastPackets.PacketList::__init__(), visualizer.ipython_view.ConsoleView::_write(), AddPropagationLoss(), AddSpectrumPropagationLoss(), test-ns3.NS3BaseTestCase::config_ok(), Create(), Default(), visualizer.svgitem.SvgItem::do_set_property(), test-ns3.NS3StyleTestCase::setUp(), test-ns3.NS3BaseTestCase::setUp(), test-ns3.NS3ExpectedUseTestCase::setUp(), test-ns3.NS3BuildBaseTestCase::test_01_BuildExistingTargets(), test-ns3.NS3ExpectedUseTestCase::test_01_BuildProject(), test-ns3.NS3StyleTestCase::test_01_CheckCMakeFormat(), test-ns3.NS3QualityControlTestCase::test_01_CheckForDeadLinksInSources(), test-ns3.NS3DependenciesTestCase::test_01_CheckIfIncludedHeadersMatchLinkedModules(), test-ns3.NS3ConfigureBuildProfileTestCase::test_01_Debug(), test-ns3.NS3CommonSettingsTestCase::test_01_NoOption(), test-ns3.NS3UnusedSourcesTestCase::test_01_UnusedExampleSources(), test-ns3.NS3ExpectedUseTestCase::test_02_BuildAndRunExistingExecutableTarget(), test-ns3.NS3BuildBaseTestCase::test_02_BuildNonExistingTargets(), test-ns3.NS3QualityControlTestCase::test_02_MemoryCheckWithSanitizers(), test-ns3.NS3CommonSettingsTestCase::test_02_NoTaskLines(), test-ns3.NS3ConfigureBuildProfileTestCase::test_02_Release(), test-ns3.NS3ConfigureTestCase::test_02_Tests(), test-ns3.NS3UnusedSourcesTestCase::test_02_UnusedModuleSources(), test-ns3.NS3ExpectedUseTestCase::test_03_BuildAndRunExistingLibraryTarget(), test-ns3.NS3BuildBaseTestCase::test_03_BuildProject(), test-ns3.NS3CommonSettingsTestCase::test_03_CheckConfig(), test-ns3.NS3QualityControlTestCase::test_03_CheckImageBrightness(), test-ns3.NS3ConfigureBuildProfileTestCase::test_03_Optimized(), test-ns3.NS3UnusedSourcesTestCase::test_03_UnusedUtilsSources(), test-ns3.NS3ExpectedUseTestCase::test_04_BuildAndRunNonExistingTarget(), test-ns3.NS3BuildBaseTestCase::test_04_BuildProjectNoTaskLines(), test-ns3.NS3QualityControlTestCase::test_04_CheckForBrokenLogs(), test-ns3.NS3CommonSettingsTestCase::test_04_CheckProfile(), test-ns3.NS3ConfigureTestCase::test_04_DisableModules(), test-ns3.NS3ConfigureBuildProfileTestCase::test_04_Typo(), test-ns3.NS3BuildBaseTestCase::test_05_BreakBuild(), test-ns3.NS3CommonSettingsTestCase::test_05_CheckVersion(), test-ns3.NS3ConfigureTestCase::test_05_EnableModulesComma(), test-ns3.NS3ExpectedUseTestCase::test_05_RunNoBuildExistingExecutableTarget(), test-ns3.NS3ConfigureBuildProfileTestCase::test_05_TYPO(), test-ns3.NS3ConfigureTestCase::test_06_DisableModulesComma(), test-ns3.NS3ConfigureBuildProfileTestCase::test_06_OverwriteDefaultSettings(), test-ns3.NS3ExpectedUseTestCase::test_06_RunNoBuildExistingLibraryTarget(), test-ns3.NS3BuildBaseTestCase::test_06_TestVersionFile(), test-ns3.NS3BuildBaseTestCase::test_07_OutputDirectory(), test-ns3.NS3ExpectedUseTestCase::test_07_RunNoBuildNonExistingExecutableTarget(), test-ns3.NS3ConfigureTestCase::test_08_DryRun(), test-ns3.NS3BuildBaseTestCase::test_08_InstallationAndUninstallation(), test-ns3.NS3ExpectedUseTestCase::test_08_RunNoBuildGdb(), test-ns3.NS3ConfigureTestCase::test_09_PropagationOfReturnCode(), test-ns3.NS3ExpectedUseTestCase::test_09_RunNoBuildValgrind(), test-ns3.NS3BuildBaseTestCase::test_09_Scratches(), test-ns3.NS3BuildBaseTestCase::test_10_AmbiguityCheck(), test-ns3.NS3ConfigureTestCase::test_10_CheckConfig(), test-ns3.NS3ExpectedUseTestCase::test_10_DoxygenWithBuild(), test-ns3.NS3ConfigureTestCase::test_11_CheckProfile(), test-ns3.NS3ExpectedUseTestCase::test_11_DoxygenWithoutBuild(), test-ns3.NS3BuildBaseTestCase::test_11_StaticBuilds(), test-ns3.NS3ConfigureTestCase::test_12_CheckVersion(), test-ns3.NS3BuildBaseTestCase::test_12_CppyyBindings(), test-ns3.NS3ExpectedUseTestCase::test_12_SphinxDocumentation(), test-ns3.NS3ExpectedUseTestCase::test_13_Documentation(), test-ns3.NS3BuildBaseTestCase::test_13_FetchOptionalComponents(), test-ns3.NS3ConfigureTestCase::test_13_Scratches(), test-ns3.NS3ExpectedUseTestCase::test_14_EnableSudo(), test-ns3.NS3BuildBaseTestCase::test_14_LinkContribModuleToSrcModule(), test-ns3.NS3ConfigureTestCase::test_14_MpiCommandTemplate(), test-ns3.NS3ExpectedUseTestCase::test_15_CommandTemplate(), test-ns3.NS3ConfigureTestCase::test_15_InvalidLibrariesToLink(), test-ns3.NS3ExpectedUseTestCase::test_16_ForwardArgumentsToRunTargets(), test-ns3.NS3ConfigureTestCase::test_16_LibrariesContainingLib(), test-ns3.NS3ConfigureTestCase::test_17_CMakePerformanceTracing(), test-ns3.NS3ExpectedUseTestCase::test_17_RunNoBuildLldb(), test-ns3.NS3ConfigureTestCase::test_18_CheckBuildVersionAndVersionCache(), test-ns3.NS3ExpectedUseTestCase::test_18_CpmAndVcpkgManagers(), test-ns3.NS3ConfigureTestCase::test_19_FilterModuleExamplesAndTests(), test-ns3.NS3ConfigureTestCase::test_20_CheckFastLinkers(), test-ns3.NS3ConfigureTestCase::test_21_ClangTimeTrace(), test-ns3.NS3ConfigureTestCase::test_22_NinjaTrace(), test-ns3.NS3ConfigureTestCase::test_23_PrecompiledHeaders(), test-ns3.NS3ConfigureTestCase::test_24_CheckTestSettings(), python-unit-tests.TestSimulator::testAttributes(), python-unit-tests.TestSimulator::testCommandLine(), python-unit-tests.TestSimulator::testIdentity(), python-unit-tests.TestSimulator::testSchedule(), python-unit-tests.TestSimulator::testScheduleDestroy(), python-unit-tests.TestSimulator::testSubclass(), python-unit-tests.TestSimulator::testTimeComparison(), python-unit-tests.TestSimulator::testTimeNumericOperations(), python-unit-tests.TestSimulator::testTypeId(), and visualizer.core.Node::tooltip_query().

+ Here is the call graph for this function:

◆ Default()

SpectrumChannelHelper ns3::SpectrumChannelHelper::Default ( )
static

Setup a default SpectrumChannel.

The Default mode is: Channel: "ns3::SingleModelSpectrumChannel", PropagationDelay: "ns3::ConstantSpeedPropagationDelayModel", and SpectrumPropagationLoss: "ns3::FriisSpectrumPropagationLossModel".

Returns
a Default-configured SpectrumChannelHelper

Definition at line 23 of file spectrum-helper.cc.

References Create(), and SetChannel().

Referenced by WaveformGeneratorTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetChannel()

template<typename... Ts>
void ns3::SpectrumChannelHelper::SetChannel ( std::string  type,
Ts &&...  args 
)
Template Parameters
Ts[deduced] Argument types
Parameters
typethe type of the SpectrumChannel to use
[in]argsName and AttributeValue pairs to set.

Definition at line 170 of file spectrum-helper.h.

References m_channel, ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().

Referenced by Default(), and SpectrumIdealPhyTestCase::DoRun().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetPropagationDelay()

template<typename... Ts>
void ns3::SpectrumChannelHelper::SetPropagationDelay ( std::string  name,
Ts &&...  args 
)
Template Parameters
Ts[deduced] Argument types
Parameters
namethe name of the model to set
[in]argsName and AttributeValue pairs to set.

Configure a propagation delay for this channel.

Definition at line 196 of file spectrum-helper.h.

References m_propagationDelay.

Member Data Documentation

◆ m_channel

ObjectFactory ns3::SpectrumChannelHelper::m_channel
private

Channel.

Definition at line 109 of file spectrum-helper.h.

Referenced by Create(), and SetChannel().

◆ m_propagationDelay

ObjectFactory ns3::SpectrumChannelHelper::m_propagationDelay
private

Propagation delay.

Definition at line 108 of file spectrum-helper.h.

Referenced by Create(), and SetPropagationDelay().

◆ m_propagationLossModel

Ptr<PropagationLossModel> ns3::SpectrumChannelHelper::m_propagationLossModel
private

Propagation loss model.

Definition at line 107 of file spectrum-helper.h.

Referenced by AddPropagationLoss(), and Create().

◆ m_spectrumPropagationLossModel

Ptr<SpectrumPropagationLossModel> ns3::SpectrumChannelHelper::m_spectrumPropagationLossModel
private

Spectrum propagation loss model.

Definition at line 106 of file spectrum-helper.h.

Referenced by AddSpectrumPropagationLoss(), and Create().


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