Set of frequency values implementing the domain of the functions in the Function Space defined by SpectrumValue. More...
#include "spectrum-model.h"
Public Member Functions | |
SpectrumModel (Bands &&bands) | |
This constructs a SpectrumModel based on the explicit values of center frequencies and boundaries of each subband. | |
SpectrumModel (const Bands &bands) | |
This constructs a SpectrumModel based on the explicit values of center frequencies and boundaries of each subband. | |
SpectrumModel (const std::vector< double > ¢erFreqs) | |
This constructs a SpectrumModel based on a given set of frequencies, which is assumed to be sorted by increasing frequency. | |
Bands::const_iterator | Begin () const |
Const Iterator to the model Bands container start. | |
Bands::const_iterator | End () const |
Const Iterator to the model Bands container end. | |
size_t | GetNumBands () const |
SpectrumModelUid_t | GetUid () const |
bool | IsOrthogonal (const SpectrumModel &other) const |
Check if another SpectrumModels has bands orthogonal to our bands. | |
Public Member Functions inherited from ns3::SimpleRefCount< SpectrumModel > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Private Attributes | |
Bands | m_bands |
Actual definition of frequency bands within this SpectrumModel. | |
SpectrumModelUid_t | m_uid |
unique id for a given set of frequencies | |
Static Private Attributes | |
static SpectrumModelUid_t | m_uidCount = 0 |
counter to assign m_uids | |
Friends | |
bool | operator== (const SpectrumModel &lhs, const SpectrumModel &rhs) |
Comparison operator. | |
Set of frequency values implementing the domain of the functions in the Function Space defined by SpectrumValue.
Frequency values are in Hz. It is intended that frequency values are non-negative, though this is not enforced.
Definition at line 61 of file spectrum-model.h.
ns3::SpectrumModel::SpectrumModel | ( | const std::vector< double > & | centerFreqs | ) |
This constructs a SpectrumModel based on a given set of frequencies, which is assumed to be sorted by increasing frequency.
The lower (resp. upper) frequency band limit is determined as the mean value between the center frequency of the considered band and the center frequency of the adjacent lower (resp. upper) band.
centerFreqs | the vector of center frequencies. |
Definition at line 31 of file spectrum-model.cc.
References ns3::BandInfo::fc, ns3::BandInfo::fh, ns3::BandInfo::fl, m_bands, m_uid, m_uidCount, and NS_ASSERT.
ns3::SpectrumModel::SpectrumModel | ( | const Bands & | bands | ) |
This constructs a SpectrumModel based on the explicit values of center frequencies and boundaries of each subband.
bands | the vector of bands for this model |
Definition at line 61 of file spectrum-model.cc.
References m_bands, m_uid, m_uidCount, and NS_LOG_INFO.
ns3::SpectrumModel::SpectrumModel | ( | Bands && | bands | ) |
This constructs a SpectrumModel based on the explicit values of center frequencies and boundaries of each subband.
This is used if bands is an rvalue.
bands | the vector of bands for this model |
Definition at line 68 of file spectrum-model.cc.
References m_uid, m_uidCount, and NS_LOG_INFO.
Bands::const_iterator ns3::SpectrumModel::Begin | ( | ) | const |
Const Iterator to the model Bands container start.
Definition at line 76 of file spectrum-model.cc.
References m_bands.
Referenced by IsOrthogonal().
Bands::const_iterator ns3::SpectrumModel::End | ( | ) | const |
Const Iterator to the model Bands container end.
Definition at line 82 of file spectrum-model.cc.
References m_bands.
Referenced by IsOrthogonal().
size_t ns3::SpectrumModel::GetNumBands | ( | ) | const |
Definition at line 88 of file spectrum-model.cc.
References m_bands.
SpectrumModelUid_t ns3::SpectrumModel::GetUid | ( | ) | const |
Definition at line 94 of file spectrum-model.cc.
References m_uid.
bool ns3::SpectrumModel::IsOrthogonal | ( | const SpectrumModel & | other | ) | const |
Check if another SpectrumModels has bands orthogonal to our bands.
other | another SpectrumModel |
Definition at line 100 of file spectrum-model.cc.
References Begin(), and End().
|
friend |
Comparison operator.
Returns true if the two SpectrumModels are identical
lhs | left operand |
rhs | right operand |
Definition at line 24 of file spectrum-model.cc.
|
private |
Actual definition of frequency bands within this SpectrumModel.
Definition at line 134 of file spectrum-model.h.
Referenced by SpectrumModel(), SpectrumModel(), Begin(), End(), and GetNumBands().
|
private |
unique id for a given set of frequencies
Definition at line 135 of file spectrum-model.h.
Referenced by SpectrumModel(), SpectrumModel(), SpectrumModel(), and GetUid().
|
staticprivate |
counter to assign m_uids
Definition at line 136 of file spectrum-model.h.
Referenced by SpectrumModel(), SpectrumModel(), and SpectrumModel().