Eclipse SUMO - Simulation of Urban MObility
OUProcess Class Reference

An Ornstein-Uhlenbeck stochastic process. More...

#include <MSDriverState.h>

Collaboration diagram for OUProcess:

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 std::mt19937 * getRNG ()
 
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 std::mt19937 myRNG
 Random generator for OUProcesses. More...
 

Detailed Description

An Ornstein-Uhlenbeck stochastic process.

Todo:
: check parameter admissibility in setter methods

Definition at line 39 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 66 of file MSDriverState.h.

References myNoiseIntensity.

Referenced by MSSimpleDriverState::getErrorNoiseIntensity().

◆ getRNG()

static std::mt19937* OUProcess::getRNG ( )
inlinestatic

◆ getState()

double OUProcess::getState ( ) const

◆ getTimeScale()

double OUProcess::getTimeScale ( ) const
inline

Definition at line 70 of file MSDriverState.h.

References myTimeScale.

Referenced by MSSimpleDriverState::getErrorTimeScale().

◆ setNoiseIntensity()

void OUProcess::setNoiseIntensity ( double  noiseIntensity)
inline

set the process' noise intensity to a new value

Definition at line 57 of file MSDriverState.h.

References myNoiseIntensity.

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

◆ setState()

void OUProcess::setState ( double  state)
inline

set the process' state to a new value

Definition at line 62 of file MSDriverState.h.

References myState.

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

◆ setTimeScale()

void OUProcess::setTimeScale ( double  timeScale)
inline

set the process' timescale to a new value

Definition at line 52 of file MSDriverState.h.

References myTimeScale.

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

◆ 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().

◆ 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 94 of file MSDriverState.h.

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

◆ myRNG

std::mt19937 OUProcess::myRNG
staticprivate

Random generator for OUProcesses.

Definition at line 97 of file MSDriverState.h.

Referenced by getRNG(), and step().

◆ myState

double OUProcess::myState
private

The current state of the process.

Definition at line 86 of file MSDriverState.h.

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

◆ myTimeScale

double OUProcess::myTimeScale
private

The time scale of the process.

Definition at line 90 of file MSDriverState.h.

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


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