24 #include <ns3/phased-array-model.h>
51 static TypeId tid =
TypeId(
"ns3::PhasedArraySpectrumPropagationLossModel")
53 .SetGroupName(
"Spectrum");
86 m_next->CalcRxPowerSpectralDensity(
params, a, b, aPhasedArrayModel, bPhasedArrayModel);
95 auto currentStream = stream;
99 currentStream +=
m_next->AssignStreams(currentStream);
101 return (currentStream - stream);
A base class which provides memory management and object aggregation.
void SetNext(Ptr< PhasedArraySpectrumPropagationLossModel > next)
Used to chain various instances of PhasedArraySpectrumPropagationLossModel.
void DoDispose() override
Destructor implementation.
static TypeId GetTypeId()
Get the type ID.
virtual int64_t DoAssignStreams(int64_t stream)=0
Assign a fixed random variable stream number to the random variables used by this model.
int64_t AssignStreams(int64_t stream)
If this loss model uses objects of type RandomVariableStream, set the stream numbers to the integers ...
Ptr< PhasedArraySpectrumPropagationLossModel > GetNext() const
Return the pointer to the next PhasedArraySpectrumPropagationLossModel, if any.
PhasedArraySpectrumPropagationLossModel()
Ptr< SpectrumSignalParameters > CalcRxPowerSpectralDensity(Ptr< const SpectrumSignalParameters > txPsd, Ptr< const MobilityModel > a, Ptr< const MobilityModel > b, Ptr< const PhasedArrayModel > aPhasedArrayModel, Ptr< const PhasedArrayModel > bPhasedArrayModel) const
This method is to be called to calculate.
virtual Ptr< SpectrumSignalParameters > DoCalcRxPowerSpectralDensity(Ptr< const SpectrumSignalParameters > params, Ptr< const MobilityModel > a, Ptr< const MobilityModel > b, Ptr< const PhasedArrayModel > aPhasedArrayModel, Ptr< const PhasedArrayModel > bPhasedArrayModel) const =0
~PhasedArraySpectrumPropagationLossModel() override
Ptr< PhasedArraySpectrumPropagationLossModel > m_next
PhasedArraySpectrumPropagationLossModel chained to this one.
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
params
Fit Fluctuating Two Ray model to the 3GPP TR 38.901 using the Anderson-Darling goodness-of-fit ##.