A Discrete-Event Network Simulator
API
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...
 

Public Member Functions

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

Static Public Member Functions

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

Private Attributes

LosConditionValue m_losCondition
 contains the information about the LOS state of the channel More...
 
O2iConditionValue m_o2iCondition
 contains the information about the O2I state of the channel More...
 

Friends

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

Additional Inherited Members

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

Detailed Description

Carries information about the LOS/NLOS channel state.


Introspection did not find any typical Config paths.

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


No Attributes are defined for this type.
No TraceSources are defined for this type.
Size of this type is 40 bytes (on a 64-bit architecture).

Definition at line 41 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 48 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 59 of file channel-condition-model.h.

Constructor & Destructor Documentation

◆ ChannelCondition() [1/2]

ns3::ChannelCondition::ChannelCondition ( )

Constructor for the ChannelCondition class.

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

◆ ChannelCondition() [2/2]

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

Constructor for the ChannelCondition class.

Parameters
losConditionthe LOS condition value
o2iConditionthe O2I condition value (by default is set to O2O)

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

References m_losCondition, and m_o2iCondition.

◆ ~ChannelCondition()

ns3::ChannelCondition::~ChannelCondition ( )
virtual

Destructor for the ChannelCondition class.

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

Member Function Documentation

◆ GetLosCondition()

◆ GetO2iCondition()

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

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

Returns
the O2iConditionValue

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

References m_o2iCondition.

◆ GetTypeId()

TypeId ns3::ChannelCondition::GetTypeId ( void  )
static

Get the type ID.

Get the type ID.

Returns
the object TypeId

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

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

◆ IsEqual()

bool ns3::ChannelCondition::IsEqual ( Ptr< const ChannelCondition otherCondition) const

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

Parameters
otherConditionthe other instance to compare with this instance
Returns
true if this instance is equivalent to the one passed as argument

Definition at line 120 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 114 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 84 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 90 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 96 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 102 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 108 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
theLosConditionValue

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

References m_losCondition.

◆ SetO2iCondition()

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

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

Parameters
o2iConditionthe O2iConditionValue

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

References m_o2iCondition.

Friends And Related Function 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 126 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 178 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 179 of file channel-condition-model.h.

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


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