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

Carries information about the LOS/NLOS channel state. More...

#include "channel-condition-model.h"

+ Inheritance diagram for ns3::ChannelCondition:
+ Collaboration diagram for ns3::ChannelCondition:

Public Types

enum  LosConditionValue { LOS , NLOS , NLOSv , LC_ND }
 Possible values for Line-of-Sight condition. More...
 
enum  O2iConditionValue { O2O , O2I , I2I , O2I_ND }
 Possible values for Outdoor to Indoor condition. More...
 
enum  O2iLowHighConditionValue { LOW , HIGH , LH_O2I_ND }
 Possible values for Low-High Penetration Loss condition. More...
 

Public Member Functions

 ChannelCondition ()
 Constructor for the ChannelCondition class.
 
 ChannelCondition (LosConditionValue losCondition, O2iConditionValue o2iCondition=O2O, O2iLowHighConditionValue o2iLowHighCondition=LOW)
 Constructor for the ChannelCondition class.
 
 ~ChannelCondition () override
 Destructor for the ChannelCondition class.
 
LosConditionValue GetLosCondition () const
 Get the LosConditionValue containing the information about the LOS/NLOS state of the channel.
 
O2iConditionValue GetO2iCondition () const
 Get the O2iConditionValue containing the information about the O2I state of the channel.
 
O2iLowHighConditionValue GetO2iLowHighCondition () const
 Get the O2iLowHighConditionValue containing the information about the O2I building penetration losses (low or high)
 
bool IsEqual (LosConditionValue losCondition, O2iConditionValue o2iCondition) const
 Return true if this instance is equivalent to the one passed as argument.
 
bool IsI2i () const
 Return true if the channel is indoor-to-indoor.
 
bool IsLos () const
 Return true if the channel condition is LOS.
 
bool IsNlos () const
 Return true if the channel condition is NLOS.
 
bool IsNlosv () const
 Return true if the channel condition is NLOSv.
 
bool IsO2i () const
 Return true if the channel is outdoor-to-indoor.
 
bool IsO2o () const
 Return true if the channel is outdoor-to-outdoor.
 
void SetLosCondition (LosConditionValue losCondition)
 Set the LosConditionValue with the information about the LOS/NLOS state of the channel.
 
void SetO2iCondition (O2iConditionValue o2iCondition)
 Set the O2iConditionValue containing the information about the O2I state of the channel.
 
void SetO2iLowHighCondition (O2iLowHighConditionValue o2iLowHighCondition)
 Set the O2iLowHighConditionValue containing the information about the O2I building penetration losses (low or high)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor.
 
 ~Object () override
 Destructor.
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together.
 
void Dispose ()
 Dispose of this Object.
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object.
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object.
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId.
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object.
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one.
 
bool IsInitialized () const
 Check if the object has been initialized.
 
void UnidirectionalAggregateObject (Ptr< Object > other)
 Aggregate an Object to another Object.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId ()
 Register this type.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Attributes

LosConditionValue m_losCondition
 contains the information about the LOS state of the channel
 
O2iConditionValue m_o2iCondition
 contains the information about the O2I state of the channel
 
O2iLowHighConditionValue m_o2iLowHighCondition
 contains the information about the O2I low-high building penetration losses
 

Friends

std::ostream & operator<< (std::ostream &os, ChannelCondition::LosConditionValue cond)
 Prints a LosConditionValue to output.
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object.
 
virtual void DoDispose ()
 Destructor implementation.
 
virtual void DoInitialize ()
 Initialize() implementation.
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated.
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

Detailed Description

Carries information about the LOS/NLOS channel state.

Additional information about the channel condition can be aggregated to instances of this class.

Definition at line 32 of file channel-condition-model.h.

Member Enumeration Documentation

◆ LosConditionValue

Possible values for Line-of-Sight condition.

Enumerator
LOS 

Line of Sight.

NLOS 

Non Line of Sight.

NLOSv 

Non Line of Sight due to a vehicle.

LC_ND 

Los condition not defined.

Definition at line 38 of file channel-condition-model.h.

◆ O2iConditionValue

Possible values for Outdoor to Indoor condition.

Enumerator
O2O 

Outdoor to Outdoor.

O2I 

Outdoor to Indoor.

I2I 

Indoor to Indoor.

O2I_ND 

Outdoor to Indoor condition not defined.

Definition at line 49 of file channel-condition-model.h.

◆ O2iLowHighConditionValue

Possible values for Low-High Penetration Loss condition.

Enumerator
LOW 

Low Penetration Losses.

HIGH 

High Penetration Losses.

LH_O2I_ND 

Low-High Penetration Losses not defined.

Definition at line 60 of file channel-condition-model.h.

Constructor & Destructor Documentation

◆ ChannelCondition() [1/2]

ns3::ChannelCondition::ChannelCondition ( )

Constructor for the ChannelCondition class.

Definition at line 81 of file channel-condition-model.cc.

◆ ChannelCondition() [2/2]

ns3::ChannelCondition::ChannelCondition ( ChannelCondition::LosConditionValue losCondition,
ChannelCondition::O2iConditionValue o2iCondition = O2O,
ChannelCondition::O2iLowHighConditionValue o2iLowHighCondition = LOW )

Constructor for the ChannelCondition class.

Parameters
losConditionthe LOS condition value
o2iConditionthe O2I condition value (by default is set to O2O)
o2iLowHighConditionthe O2I Low-High Building Penetration loss condition value (by default is set to LOW)

Definition at line 88 of file channel-condition-model.cc.

References m_losCondition, m_o2iCondition, and m_o2iLowHighCondition.

◆ ~ChannelCondition()

ns3::ChannelCondition::~ChannelCondition ( )
override

Destructor for the ChannelCondition class.

Definition at line 97 of file channel-condition-model.cc.

Member Function Documentation

◆ GetLosCondition()

ChannelCondition::LosConditionValue ns3::ChannelCondition::GetLosCondition ( ) const

Get the LosConditionValue containing the information about the LOS/NLOS state of the channel.

Returns
the LosConditionValue

Definition at line 102 of file channel-condition-model.cc.

References m_losCondition.

◆ GetO2iCondition()

ChannelCondition::O2iConditionValue ns3::ChannelCondition::GetO2iCondition ( ) const

Get the O2iConditionValue containing the information about the O2I state of the channel.

Returns
the O2iConditionValue

Definition at line 114 of file channel-condition-model.cc.

References m_o2iCondition.

◆ GetO2iLowHighCondition()

ChannelCondition::O2iLowHighConditionValue ns3::ChannelCondition::GetO2iLowHighCondition ( ) const

Get the O2iLowHighConditionValue containing the information about the O2I building penetration losses (low or high)

Returns
the O2iLowHighConditionValue

Definition at line 126 of file channel-condition-model.cc.

References m_o2iLowHighCondition.

◆ GetTypeId()

TypeId ns3::ChannelCondition::GetTypeId ( )
static

Get the type ID.

Get the type ID.

Returns
the object TypeId

Definition at line 74 of file channel-condition-model.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

◆ IsEqual()

bool ns3::ChannelCondition::IsEqual ( LosConditionValue losCondition,
O2iConditionValue o2iCondition ) const

Return true if this instance is equivalent to the one passed as argument.

Parameters
losConditionthe LOS condition of the other channel condition instance
o2iConditionthe 02I condition of the other channel condition instance
Returns
true if the channel LOS and O2i conditions of the instance are equivalent to those passed as arguments

Definition at line 174 of file channel-condition-model.cc.

References m_losCondition, and m_o2iCondition.

◆ IsI2i()

bool ns3::ChannelCondition::IsI2i ( ) const

Return true if the channel is indoor-to-indoor.

Returns
true if the channel is indoor-to-indoor

Definition at line 168 of file channel-condition-model.cc.

References I2I, and m_o2iCondition.

◆ IsLos()

bool ns3::ChannelCondition::IsLos ( ) const

Return true if the channel condition is LOS.

Returns
true if the channel condition is LOS

Definition at line 138 of file channel-condition-model.cc.

References LOS, and m_losCondition.

◆ IsNlos()

bool ns3::ChannelCondition::IsNlos ( ) const

Return true if the channel condition is NLOS.

It does not consider the case in which the LOS path is obstructed by a vehicle. This case is represented as a separate channel condition (NLOSv), use the method IsNlosv instead.

Returns
true if the channel condition is NLOS

Definition at line 144 of file channel-condition-model.cc.

References m_losCondition, and NLOS.

◆ IsNlosv()

bool ns3::ChannelCondition::IsNlosv ( ) const

Return true if the channel condition is NLOSv.

Returns
true if the channel condition is NLOSv

Definition at line 150 of file channel-condition-model.cc.

References m_losCondition, and NLOSv.

◆ IsO2i()

bool ns3::ChannelCondition::IsO2i ( ) const

Return true if the channel is outdoor-to-indoor.

Returns
true if the channel is outdoor-to-indoor

Definition at line 156 of file channel-condition-model.cc.

References m_o2iCondition, and O2I.

◆ IsO2o()

bool ns3::ChannelCondition::IsO2o ( ) const

Return true if the channel is outdoor-to-outdoor.

Returns
true if the channel is outdoor-to-outdoor

Definition at line 162 of file channel-condition-model.cc.

References m_o2iCondition, and O2O.

◆ SetLosCondition()

void ns3::ChannelCondition::SetLosCondition ( LosConditionValue losCondition)

Set the LosConditionValue with the information about the LOS/NLOS state of the channel.

Parameters
losConditionthe LosConditionValue

Definition at line 108 of file channel-condition-model.cc.

References m_losCondition.

◆ SetO2iCondition()

void ns3::ChannelCondition::SetO2iCondition ( O2iConditionValue o2iCondition)

Set the O2iConditionValue containing the information about the O2I state of the channel.

Parameters
o2iConditionthe O2iConditionValue

Definition at line 120 of file channel-condition-model.cc.

References m_o2iCondition.

◆ SetO2iLowHighCondition()

void ns3::ChannelCondition::SetO2iLowHighCondition ( O2iLowHighConditionValue o2iLowHighCondition)

Set the O2iLowHighConditionValue containing the information about the O2I building penetration losses (low or high)

Parameters
o2iLowHighConditionthe O2iLowHighConditionValue

Definition at line 132 of file channel-condition-model.cc.

References m_o2iLowHighCondition.

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
ChannelCondition::LosConditionValue cond )
friend

Prints a LosConditionValue to output.

Parameters
osthe output stream
condthe LosConditionValue
Returns
a reference to the output stream

Definition at line 179 of file channel-condition-model.cc.

Member Data Documentation

◆ m_losCondition

LosConditionValue ns3::ChannelCondition::m_losCondition
private

contains the information about the LOS state of the channel

Definition at line 201 of file channel-condition-model.h.

Referenced by ChannelCondition(), GetLosCondition(), IsEqual(), IsLos(), IsNlos(), IsNlosv(), and SetLosCondition().

◆ m_o2iCondition

O2iConditionValue ns3::ChannelCondition::m_o2iCondition
private

contains the information about the O2I state of the channel

Definition at line 203 of file channel-condition-model.h.

Referenced by ChannelCondition(), GetO2iCondition(), IsEqual(), IsI2i(), IsO2i(), IsO2o(), and SetO2iCondition().

◆ m_o2iLowHighCondition

O2iLowHighConditionValue ns3::ChannelCondition::m_o2iLowHighCondition
private

contains the information about the O2I low-high building penetration losses

Definition at line 204 of file channel-condition-model.h.

Referenced by ChannelCondition(), GetO2iLowHighCondition(), and SetO2iLowHighCondition().


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