Eclipse SUMO - Simulation of Urban MObility
OUProcess Class Reference

An Ornstein-Uhlenbeck stochastic process. More...

#include <MSDriverState.h>

Collaboration diagram for OUProcess:
[legend]

Public Member Functions

double getNoiseIntensity () const
 
double getState () const
 Obtain the current state of the process. More...
 
double getTimeScale () const
 
 OUProcess (double initialState, double timeScale, double noiseIntensity)
 constructor More...
 
void setNoiseIntensity (double noiseIntensity)
 set the process' noise intensity to a new value More...
 
void setState (double state)
 set the process' state to a new value More...
 
void setTimeScale (double timeScale)
 set the process' timescale to a new value More...
 
void step (double dt)
 evolve for a time step of length dt. More...
 
 ~OUProcess ()
 destructor More...
 

Static Public Member Functions

static SumoRNGgetRNG ()
 
static double step (double state, double dt, double timeScale, double noiseIntensity)
 static version of the step() More...
 

Private Attributes

double myNoiseIntensity
 The noise intensity of the process. More...
 
double myState
 The current state of the process. More...
 
double myTimeScale
 The time scale of the process. More...
 

Static Private Attributes

static SumoRNG myRNG
 Random generator for OUProcesses. More...
 

Detailed Description

An Ornstein-Uhlenbeck stochastic process.

Todo:
: check parameter admissibility in setter methods

Definition at line 38 of file MSDriverState.h.

Constructor & Destructor Documentation

◆ OUProcess()

OUProcess::OUProcess ( double  initialState,
double  timeScale,
double  noiseIntensity 
)

constructor

Definition at line 95 of file MSDriverState.cpp.

◆ ~OUProcess()

OUProcess::~OUProcess ( )

destructor

Definition at line 101 of file MSDriverState.cpp.

Member Function Documentation

◆ getNoiseIntensity()

double OUProcess::getNoiseIntensity ( ) const
inline

Definition at line 65 of file MSDriverState.h.

References myNoiseIntensity.

Referenced by MSSimpleDriverState::getErrorNoiseIntensity().

Here is the caller graph for this function:

◆ getRNG()

static SumoRNG* OUProcess::getRNG ( )
inlinestatic

Definition at line 78 of file MSDriverState.h.

References myRNG.

Referenced by NLBuilder::initRandomness(), MSStateHandler::myStartElement(), and MSStateHandler::saveRNGs().

Here is the caller graph for this function:

◆ getState()

double OUProcess::getState ( ) const

Obtain the current state of the process.

Definition at line 122 of file MSDriverState.cpp.

References myState.

Referenced by MSSimpleDriverState::getErrorState(), MSSimpleDriverState::getPerceivedHeadway(), MSSimpleDriverState::getPerceivedOwnSpeed(), MSSimpleDriverState::getPerceivedSpeedDifference(), and MSSimpleDriverState::update().

Here is the caller graph for this function:

◆ getTimeScale()

double OUProcess::getTimeScale ( ) const
inline

Definition at line 69 of file MSDriverState.h.

References myTimeScale.

Referenced by MSSimpleDriverState::getErrorTimeScale().

Here is the caller graph for this function:

◆ setNoiseIntensity()

void OUProcess::setNoiseIntensity ( double  noiseIntensity)
inline

set the process' noise intensity to a new value

Definition at line 56 of file MSDriverState.h.

References myNoiseIntensity.

Referenced by MSSimpleDriverState::setErrorNoiseIntensity(), and MSSimpleDriverState::updateError().

Here is the caller graph for this function:

◆ setState()

void OUProcess::setState ( double  state)
inline

set the process' state to a new value

Definition at line 61 of file MSDriverState.h.

References myState.

Referenced by MSSimpleDriverState::setAwareness(), MSSimpleDriverState::setErrorState(), and MSSimpleDriverState::updateError().

Here is the caller graph for this function:

◆ setTimeScale()

void OUProcess::setTimeScale ( double  timeScale)
inline

set the process' timescale to a new value

Definition at line 51 of file MSDriverState.h.

References myTimeScale.

Referenced by MSSimpleDriverState::setErrorTimeScale(), and MSSimpleDriverState::updateError().

Here is the caller graph for this function:

◆ step() [1/2]

void OUProcess::step ( double  dt)

evolve for a time step of length dt.

Definition at line 105 of file MSDriverState.cpp.

References myNoiseIntensity, myRNG, myState, myTimeScale, and RandHelper::randNorm().

Referenced by MSLCM_SL2015::getLateralDrift(), MSLCM_LC2013::prepareStep(), and MSSimpleDriverState::updateError().

Here is the caller graph for this function:

◆ step() [2/2]

double OUProcess::step ( double  state,
double  dt,
double  timeScale,
double  noiseIntensity 
)
static

static version of the step()

see above

Definition at line 116 of file MSDriverState.cpp.

References myRNG, and RandHelper::randNorm().

Field Documentation

◆ myNoiseIntensity

double OUProcess::myNoiseIntensity
private

The noise intensity of the process.

Definition at line 93 of file MSDriverState.h.

Referenced by getNoiseIntensity(), setNoiseIntensity(), and step().

◆ myRNG

SumoRNG OUProcess::myRNG
staticprivate

Random generator for OUProcesses.

Definition at line 96 of file MSDriverState.h.

Referenced by getRNG(), and step().

◆ myState

double OUProcess::myState
private

The current state of the process.

Definition at line 85 of file MSDriverState.h.

Referenced by getState(), setState(), and step().

◆ myTimeScale

double OUProcess::myTimeScale
private

The time scale of the process.

Definition at line 89 of file MSDriverState.h.

Referenced by getTimeScale(), setTimeScale(), and step().


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