21 #ifndef DATA_CALCULATOR_H
22 #define DATA_CALCULATOR_H
24 #include "ns3/object.h"
25 #include "ns3/nstime.h"
26 #include "ns3/simulator.h"
29 extern const double NaN;
36 inline bool isNaN (
double x) {
return x !=
x; }
38 class DataOutputCallback;
64 virtual double getSum ()
const = 0;
76 virtual double getMin ()
const = 0;
82 virtual double getMax ()
const = 0;
88 virtual double getMean ()
const = 0;
139 void SetKey (
const std::string key);
144 std::string
GetKey ()
const;
virtual void Output(DataOutputCallback &callback) const =0
Outputs data based on the provided callback.
Simulation virtual time values and global simulation resolution.
virtual double getMin() const =0
Returns the minimum of the values.
void SetKey(const std::string key)
Sets the DataCalculator key to the provided key.
std::string GetKey() const
Gets the DataCalculator key.
Abstract class for calculating statistical data.
virtual double getSqrSum() const =0
static TypeId GetTypeId(void)
Register this type.
bool m_enabled
Descendant classes must check & respect m_enabled!
virtual void Stop(const Time &stopTime)
Stops DataCalculator at a given time in the simulation.
virtual void Start(const Time &startTime)
Starts DataCalculator at a given time in the simulation.
EventId m_startEvent
Start event.
virtual double getStddev() const =0
Returns the standard deviation of the (weighted) observations.
virtual double getMean() const =0
Returns the mean of the (weighted) observations.
virtual double getMax() const =0
Returns the maximum of the values.
std::string GetContext() const
Gets the DataCalculator context.
void Enable()
Enables DataCalculator when simulation starts.
bool GetEnabled() const
Returns whether the DataCalculator is enabled.
virtual ~StatisticalSummary()
Destructor.
EventId m_stopEvent
Stop event.
virtual void DoDispose(void)
Destructor implementation.
const double NaN
Stored representation of NaN.
void Disable()
Disables DataCalculator when simulation stops.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Callback class for the DataOutput classes.
virtual ~DataCalculator()
virtual double getSum() const =0
virtual double getVariance() const =0
Returns the variance of the (weighted) observations.
std::string m_context
Context value.
Calculates data during a simulation.
An identifier for simulation events.
void SetContext(const std::string context)
Sets the DataCalculator context to the provided context.
bool isNaN(double x)
true if x is NaN
A base class which provides memory management and object aggregation.
virtual long getCount() const =0
Returns the number of observations.
a unique identifier for an interface.
std::string m_key
Key value.