Jpp master_rocky-44-g75b7c4f75
the software that should make you happy
Loading...
Searching...
No Matches
JACOUSTICS::JWeight Struct Reference

Auxiliary data structure to unify weights of acoustics data according to the number of pings per emitter. More...

#include <JAcousticsToolkit.hh>

Inheritance diagram for JACOUSTICS::JWeight:
std::map< int, size_t >

Public Member Functions

template<class T >
 JWeight (T __begin, T __end)
 Constructor.
 
double operator() (const int id) const
 Get weight.
 

Static Public Member Functions

static bool getUnify ()
 Get option to unify weights.
 
static void setUnify (const bool unify)
 Set option to unify weights.
 

Static Private Member Functions

static bool & get_unify ()
 Get option to unify weights.
 

Private Attributes

size_t min
 

Detailed Description

Auxiliary data structure to unify weights of acoustics data according to the number of pings per emitter.

The default option is to unify the weights.

Definition at line 36 of file JAcousticsToolkit.hh.

Constructor & Destructor Documentation

◆ JWeight()

template<class T >
JACOUSTICS::JWeight::JWeight ( T __begin,
T __end )
inline

Constructor.

Parameters
__beginbegin of data
__endend of data

Definition at line 46 of file JAcousticsToolkit.hh.

46 :
47 min(std::numeric_limits<size_t>::max())
48 {
49 for (T i = __begin; i != __end; ++i) {
50 (*this)[i->getID()] += 1;
51 }
52
53 for (const_iterator i = this->begin(); i != this->end(); ++i) {
54 if (i->second < min) {
55 min = i->second;
56 }
57 }
58 }

Member Function Documentation

◆ getUnify()

static bool JACOUSTICS::JWeight::getUnify ( )
inlinestatic

Get option to unify weights.

Returns
option

Definition at line 66 of file JAcousticsToolkit.hh.

67 {
68 return get_unify();
69 }
static bool & get_unify()
Get option to unify weights.

◆ setUnify()

static void JACOUSTICS::JWeight::setUnify ( const bool unify)
inlinestatic

Set option to unify weights.

Parameters
unifyoption

Definition at line 77 of file JAcousticsToolkit.hh.

78 {
79 get_unify() = unify;
80 }

◆ operator()()

double JACOUSTICS::JWeight::operator() ( const int id) const
inline

Get weight.

Parameters
ididentifier
Returns
weight

Definition at line 89 of file JAcousticsToolkit.hh.

90 {
91 if (getUnify()) {
92
93 const_iterator p = this->find(id);
94
95 if (p != this->end())
96 return (double) min / (double) p->second;
97 else
98 THROW(JValueOutOfRange, "Invalid identifier " << id);
99
100 } else {
101
102 return 1.0;
103 }
104 }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Exception for accessing a value in a collection that is outside of its range.
static bool getUnify()
Get option to unify weights.

◆ get_unify()

static bool & JACOUSTICS::JWeight::get_unify ( )
inlinestaticprivate

Get option to unify weights.

Returns
option

Definition at line 112 of file JAcousticsToolkit.hh.

113 {
114 static bool unify = true;
115
116 return unify;
117 }

Member Data Documentation

◆ min

size_t JACOUSTICS::JWeight::min
private

Definition at line 119 of file JAcousticsToolkit.hh.


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