mars_lib  0.1.0.3dc76ee85e09
Modular and Robust Sensor-Fusion
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
mars::Pressure Struct Reference

The Pressure struct describes the raw pressure measurement used for conversion later. More...

#include </home/runner/work/mars_lib/mars_lib/source/mars/include/mars/sensors/pressure/pressure_conversion.h>

+ Collaboration diagram for mars::Pressure:

Public Types

enum class  Type { LIQUID , GAS , HEIGHT }
 The Type enum determines the type of pressure measurement used for conversion. More...
 

Public Member Functions

 Pressure ()=default
 Default constructor initializing values to 0, and type to Type::GAS. More...
 
 Pressure (double pressure)
 Detailed constructor with pressure value. More...
 
 Pressure (double pressure, double temperature, Type type)
 Detailed constructor. More...
 
Pressure operator+ (const Pressure &pressure)
 
void operator+= (const Pressure &pressure)
 
void operator/= (const double &n)
 

Public Attributes

double data_ { 0 }
 measurement data More...
 
double temperature_K_ { 0 }
 ambient temperature when measurement data was observed More...
 
Type type_ { Type::GAS }
 type of the measurement More...
 

Friends

std::ostream & operator<< (std::ostream &out, const Type &type)
 
std::ostream & operator<< (std::ostream &out, const Pressure &pressure)
 

Detailed Description

The Pressure struct describes the raw pressure measurement used for conversion later.

Member Enumeration Documentation

◆ Type

enum mars::Pressure::Type
strong

The Type enum determines the type of pressure measurement used for conversion.

Enumerator
LIQUID 

pressure measurement is in liquid medium, e.g., water

GAS 

pressure measruement is in gas medium, e.g., air

HEIGHT 

pressure measurement has already been converted to height by sensor

30  {
31  LIQUID,
32  GAS,
33  HEIGHT
34  };

Constructor & Destructor Documentation

◆ Pressure() [1/3]

mars::Pressure::Pressure ( )
default

Default constructor initializing values to 0, and type to Type::GAS.

◆ Pressure() [2/3]

mars::Pressure::Pressure ( double  pressure)
inline

Detailed constructor with pressure value.

Parameters
pressuremeasured pressure value
temperaturetemperature at time of measurement
typeType of measurement
49  : data_(pressure)
50  {
51  }
double data_
measurement data
Definition: pressure_conversion.h:64

◆ Pressure() [3/3]

mars::Pressure::Pressure ( double  pressure,
double  temperature,
Type  type 
)
inline

Detailed constructor.

Parameters
pressuremeasured pressure value
temperaturetemperature at time of measurement
typeType of measurement
60  : data_(pressure), temperature_K_(temperature), type_(type)
61  {
62  }
Type type_
type of the measurement
Definition: pressure_conversion.h:66
double temperature_K_
ambient temperature when measurement data was observed
Definition: pressure_conversion.h:65

Member Function Documentation

◆ operator+()

Pressure mars::Pressure::operator+ ( const Pressure pressure)
inline
71  {
72  return { data_ + pressure.data_, temperature_K_ + pressure.temperature_K_, type_ };
73  }

◆ operator+=()

void mars::Pressure::operator+= ( const Pressure pressure)
inline
76  {
77  data_ += pressure.data_;
78  temperature_K_ += pressure.temperature_K_;
79  }

◆ operator/=()

void mars::Pressure::operator/= ( const double &  n)
inline
82  {
83  if (n == 0)
84  {
85  throw std::overflow_error("Divide by zero exception");
86  }
87  data_ /= n;
88  temperature_K_ /= n;
89  }

Friends And Related Function Documentation

◆ operator<< [1/2]

std::ostream& operator<< ( std::ostream &  out,
const Type type 
)
friend

◆ operator<< [2/2]

std::ostream& operator<< ( std::ostream &  out,
const Pressure pressure 
)
friend

Member Data Documentation

◆ data_

double mars::Pressure::data_ { 0 }

measurement data

◆ temperature_K_

double mars::Pressure::temperature_K_ { 0 }

ambient temperature when measurement data was observed

◆ type_

Type mars::Pressure::type_ { Type::GAS }

type of the measurement


The documentation for this struct was generated from the following file: