Jpp  15.0.4
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Private Member Functions | Friends | List of all members
JACOUSTICS::JModel Struct Reference

Model for fit to acoustics data. More...

#include <JModel.hh>

Inheritance diagram for JACOUSTICS::JModel:
JMATH::JMath< JFirst_t, JSecond_t > JLANG::JEquals< JFirst_t, JSecond_t > JTOOLS::JHashMapToolkit

Classes

struct  emitter_type
 Map emitter key to model parameters of emitter. More...
 
struct  string_type
 Map string identifier to model parameters of string. More...
 

Public Types

typedef JMODEL::JString JString
 
typedef JMODEL::JEmitter JEmitter
 
typedef size_t parameter_type
 Type definition of fit parameter. More...
 

Public Member Functions

 JModel ()
 Default constructor. More...
 
template<class T >
 JModel (T __begin, T __end)
 Constructor. More...
 
JModeloperator= (const JMATH::JZero &zero)
 Reset parameters. More...
 
void clear ()
 Clear parameters. More...
 
void reset ()
 Reset parameters. More...
 
JModelnegate ()
 Negate model. More...
 
JModeladd (const JModel &model)
 Add model. More...
 
JModelsub (const JModel &model)
 Subtract model. More...
 
JModelmul (const double factor)
 Scale model. More...
 
JModeldiv (const double factor)
 Scale model. More...
 
bool equals (const JModel &model, const double precision=std::numeric_limits< double >::min()) const
 Check equality. More...
 
size_t getN () const
 Get number of fit parameters. More...
 
size_t getIndex (int id, double JString::*p) const
 Get index of fit parameter for given string. More...
 
size_t getIndex (const JEKey &id, double JEmitter::*p) const
 Get index of fit parameter for given emitter. More...
 
double operator[] (const size_t index) const
 Read access to fit parameter value by index. More...
 
double & operator[] (const size_t index)
 Read/write access to fit parameter value by index. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 

Static Public Member Functions

template<class JKey_t , class JValue_t , class JEvaluator_t >
static void reset (JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer)
 Reset buffer. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void set (JHashMap< JKey_t, JValue_t, JEvaluator_t > &target, const JHashMap< JKey_t, JValue_t, JEvaluator_t > &source, const JValue_t &value)
 Set values in target corresponding to keys in source. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void evaluate (JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, JValue_t &(JValue_t::*f1)())
 Evaluate arithmetic operation on buffer. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void evaluate (JHashMap< JKey_t, JValue_t, JEvaluator_t > &first, const JHashMap< JKey_t, JValue_t, JEvaluator_t > &second, JValue_t &(JValue_t::*f1)(const JValue_t &))
 Evaluate arithmetic operation on buffers. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void evaluate (JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, JValue_t &(JValue_t::*f1)(const double), const double factor)
 Evaluate arithmetic operation on buffer. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static bool equals (const JHashMap< JKey_t, JValue_t, JEvaluator_t > &first, const JHashMap< JKey_t, JValue_t, JEvaluator_t > &second)
 Check equality of buffers. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static bool equals (const JHashMap< JKey_t, JValue_t, JEvaluator_t > &first, const JHashMap< JKey_t, JValue_t, JEvaluator_t > &second, const double precision)
 Check equality of buffers. More...
 

Public Attributes

JACOUSTICS::JModel::emitter_type emitter
 
JACOUSTICS::JModel::string_type string
 

Static Private Member Functions

template<class T >
static size_t getIndex (double T::*p)
 Get index of fit parameter in given data structure. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static double getParameter (const JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, const size_t index)
 Get read access to fit parameter value at given index in buffer. More...
 
template<class JKey_t , class JValue_t , class JEvaluator_t >
static double & getParameter (JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, const size_t index)
 Get read/write access to fit parameter value at given index in buffer. More...
 

Friends

std::ostream & operator<< (std::ostream &out, const JModel &model)
 Write model parameters to output stream. More...
 

Detailed Description

Model for fit to acoustics data.

The model consists of string parameters and emitter parameters.
These parameters relate to the string identifer and emitter key, respectively.

Definition at line 400 of file JAcoustics/JModel.hh.

Member Typedef Documentation

Definition at line 409 of file JAcoustics/JModel.hh.

Definition at line 410 of file JAcoustics/JModel.hh.

Type definition of fit parameter.

Definition at line 416 of file JAcoustics/JModel.hh.

Constructor & Destructor Documentation

JACOUSTICS::JModel::JModel ( )
inline

Default constructor.

Definition at line 422 of file JAcoustics/JModel.hh.

423  {}
template<class T >
JACOUSTICS::JModel::JModel ( T  __begin,
T  __end 
)
inline

Constructor.

This constructor can be used to set up a default model (i.e. all values at zero) for the given set of hits.
The data type corresponding to the hits should provide for the following policy methods.

   int      getString();        // get string identifier
   JEkey    getEKey();          // get emitter key
Parameters
__beginbegin of hits
__endend of hits

Definition at line 440 of file JAcoustics/JModel.hh.

441  {
442  for (T hit = __begin; hit != __end; ++hit) {
443 
444  if (!this->string.has(hit->getString())) {
445  this->string[hit->getString()] = JString();
446  }
447 
448  if (!this->emitter.has(hit->getEKey())) {
449  this->emitter[hit->getEKey()] = JEmitter();
450  }
451  }
452  }
JMODEL::JEmitter JEmitter
do set_variable OUTPUT_DIRECTORY $WORKDIR T
JMODEL::JString JString
JACOUSTICS::JModel::emitter_type emitter
bool has(const T &value) const
Test whether given value is present.

Member Function Documentation

JModel& JACOUSTICS::JModel::operator= ( const JMATH::JZero zero)
inline

Reset parameters.

Parameters
zerozero
Returns
this model

Definition at line 461 of file JAcoustics/JModel.hh.

462  {
463  this->reset();
464 
465  return *this;
466  }
void reset()
Reset parameters.
void JACOUSTICS::JModel::clear ( )
inline

Clear parameters.

Definition at line 472 of file JAcoustics/JModel.hh.

473  {
474  string .clear();
475  emitter.clear();
476  }
virtual void clear() override
Clear.
Definition: JHashMap.hh:107
JACOUSTICS::JModel::emitter_type emitter
void JACOUSTICS::JModel::reset ( )
inline

Reset parameters.

Definition at line 482 of file JAcoustics/JModel.hh.

483  {
484  reset(string);
485  reset(emitter);
486  }
JACOUSTICS::JModel::emitter_type emitter
void reset()
Reset parameters.
JModel& JACOUSTICS::JModel::negate ( )
inline

Negate model.

Returns
this model

Definition at line 494 of file JAcoustics/JModel.hh.

495  {
496  evaluate(this->string, &JString ::negate);
498 
499  return *this;
500  }
static void evaluate(JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, JValue_t &(JValue_t::*f1)())
Evaluate arithmetic operation on buffer.
JString & negate()
Negate string.
JACOUSTICS::JModel::emitter_type emitter
JEmitter & negate()
Negate emitter.
JModel& JACOUSTICS::JModel::add ( const JModel model)
inline

Add model.

Parameters
modelmodel
Returns
this model

Definition at line 509 of file JAcoustics/JModel.hh.

510  {
511  evaluate(this->string, model.string, &JString ::add);
512  evaluate(this->emitter, model.emitter, &JEmitter::add);
513 
514  return *this;
515  }
static void evaluate(JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, JValue_t &(JValue_t::*f1)())
Evaluate arithmetic operation on buffer.
JEmitter & add(const JEmitter &emitter)
Add emitter.
JString & add(const JString &string)
Add string.
JACOUSTICS::JModel::string_type string
JACOUSTICS::JModel::emitter_type emitter
JModel& JACOUSTICS::JModel::sub ( const JModel model)
inline

Subtract model.

Parameters
modelmodel
Returns
this model

Definition at line 524 of file JAcoustics/JModel.hh.

525  {
526  evaluate(this->string, model.string, &JString ::sub);
527  evaluate(this->emitter, model.emitter, &JEmitter::sub);
528 
529  return *this;
530  }
JEmitter & sub(const JEmitter &emitter)
Subtract emitter.
static void evaluate(JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, JValue_t &(JValue_t::*f1)())
Evaluate arithmetic operation on buffer.
JString & sub(const JString &string)
Subtract string.
JACOUSTICS::JModel::string_type string
JACOUSTICS::JModel::emitter_type emitter
JModel& JACOUSTICS::JModel::mul ( const double  factor)
inline

Scale model.

Parameters
factormultiplication factor
Returns
this model

Definition at line 539 of file JAcoustics/JModel.hh.

540  {
541  evaluate(this->string, &JString ::mul, factor);
542  evaluate(this->emitter, &JEmitter::mul, factor);
543 
544  return *this;
545  }
JString & mul(const double factor)
Scale string.
JEmitter & mul(const double factor)
Scale emitter.
static void evaluate(JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, JValue_t &(JValue_t::*f1)())
Evaluate arithmetic operation on buffer.
JACOUSTICS::JModel::emitter_type emitter
JModel& JACOUSTICS::JModel::div ( const double  factor)
inline

Scale model.

Parameters
factordivision factor
Returns
this model

Definition at line 554 of file JAcoustics/JModel.hh.

555  {
556  evaluate(this->string, &JString ::div, factor);
557  evaluate(this->emitter, &JEmitter::div, factor);
558 
559  return *this;
560  }
static void evaluate(JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, JValue_t &(JValue_t::*f1)())
Evaluate arithmetic operation on buffer.
JEmitter & div(const double factor)
Scale emitter.
JString & div(const double factor)
Scale string.
JACOUSTICS::JModel::emitter_type emitter
bool JACOUSTICS::JModel::equals ( const JModel model,
const double  precision = std::numeric_limits<double>::min() 
) const
inline

Check equality.

Parameters
modelmodel
precisionprecision
Returns
true if models are equal; else false

Definition at line 570 of file JAcoustics/JModel.hh.

572  {
573  return (equals(this->string, model.string, precision) &&
574  equals(this->emitter, model.emitter, precision));
575  }
bool equals(const JModel &model, const double precision=std::numeric_limits< double >::min()) const
Check equality.
JACOUSTICS::JModel::string_type string
JACOUSTICS::JModel::emitter_type emitter
size_t JACOUSTICS::JModel::getN ( ) const
inline

Get number of fit parameters.

Returns
number of parameters

Definition at line 607 of file JAcoustics/JModel.hh.

608  {
609  return emitter.getN() + string.getN();
610  }
JACOUSTICS::JModel::emitter_type emitter
size_t getN() const
Get number of fit parameters.
size_t JACOUSTICS::JModel::getIndex ( int  id,
double JString::*  p 
) const
inline

Get index of fit parameter for given string.

Parameters
idstring identifier
ppointer to data member
Returns
parameter

Definition at line 620 of file JAcoustics/JModel.hh.

621  {
622  if (string.has(id))
623  return emitter.getN() + string.getIndex(id) * JString::getN() + getIndex(p);
624  else
625  THROW(JValueOutOfRange, "Invalid identifier " << id);
626  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
static size_t getN()
Get number of fit parameters.
size_t getIndex(int id, double JString::*p) const
Get index of fit parameter for given string.
JACOUSTICS::JModel::emitter_type emitter
size_t getN() const
Get number of fit parameters.
size_t JACOUSTICS::JModel::getIndex ( const JEKey id,
double JEmitter::*  p 
) const
inline

Get index of fit parameter for given emitter.

Parameters
idemitter key
ppointer to data member
Returns
parameter

Definition at line 636 of file JAcoustics/JModel.hh.

637  {
638  if (emitter.has(id))
639  return emitter.getIndex(id) * JEmitter::getN() + getIndex(p);
640  else
641  THROW(JValueOutOfRange, "Invalid identifier " << id);
642  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
int getIndex(const T &value) const
Get index of given value.
static size_t getN()
Get number of fit parameters.
size_t getIndex(int id, double JString::*p) const
Get index of fit parameter for given string.
JACOUSTICS::JModel::emitter_type emitter
bool has(const T &value) const
Test whether given value is present.
double JACOUSTICS::JModel::operator[] ( const size_t  index) const
inline

Read access to fit parameter value by index.

Parameters
indexindex
Returns
value

Definition at line 651 of file JAcoustics/JModel.hh.

652  {
653  size_t i = index;
654 
655  if (i < emitter.getN()) { return getParameter(emitter, i); }
656 
657  i -= emitter.getN();
658 
659  if (i < string .getN()) { return getParameter(string, i); }
660 
661  THROW(JIndexOutOfRange, "Invalid index " << index << " >= " << getN());
662  }
size_t getN() const
Get number of fit parameters.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
static double getParameter(const JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, const size_t index)
Get read access to fit parameter value at given index in buffer.
JACOUSTICS::JModel::emitter_type emitter
size_t getN() const
Get number of fit parameters.
double& JACOUSTICS::JModel::operator[] ( const size_t  index)
inline

Read/write access to fit parameter value by index.

Parameters
indexindex
Returns
value

Definition at line 671 of file JAcoustics/JModel.hh.

672  {
673  size_t i = index;
674 
675  if (i < emitter.getN()) { return getParameter(emitter, i); }
676 
677  i -= emitter.getN();
678 
679  if (i < string .getN()) { return getParameter(string, i); }
680 
681  THROW(JIndexOutOfRange, "Invalid index " << index << " >= " << getN());
682  }
size_t getN() const
Get number of fit parameters.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
static double getParameter(const JHashMap< JKey_t, JValue_t, JEvaluator_t > &buffer, const size_t index)
Get read access to fit parameter value at given index in buffer.
JACOUSTICS::JModel::emitter_type emitter
size_t getN() const
Get number of fit parameters.
template<class T >
static size_t JACOUSTICS::JModel::getIndex ( double T::*  p)
inlinestaticprivate

Get index of fit parameter in given data structure.

Parameters
ppointer to data member
Returns
index

Definition at line 779 of file JAcoustics/JModel.hh.

780  {
781  T* __p__ = NULL;
782 
783  return ((double*) &(__p__->*p) - (double*) __p__);
784  }
do set_variable OUTPUT_DIRECTORY $WORKDIR T
template<class JKey_t , class JValue_t , class JEvaluator_t >
static double JACOUSTICS::JModel::getParameter ( const JHashMap< JKey_t, JValue_t, JEvaluator_t > &  buffer,
const size_t  index 
)
inlinestaticprivate

Get read access to fit parameter value at given index in buffer.

Parameters
bufferbuffer
indexindex
Returns
value

Definition at line 795 of file JAcoustics/JModel.hh.

796  {
797  const size_t pos = index / JValue_t::getN(); // position of element in buffer
798  const size_t offset = index % JValue_t::getN(); // offset of parameter in element
799 
800  const JValue_t& value = buffer.data()[pos].second; // value of element at given position
801 
802  return ((const double*) &value)[offset]; // parameter at given offset
803  }
template<class JKey_t , class JValue_t , class JEvaluator_t >
static double& JACOUSTICS::JModel::getParameter ( JHashMap< JKey_t, JValue_t, JEvaluator_t > &  buffer,
const size_t  index 
)
inlinestaticprivate

Get read/write access to fit parameter value at given index in buffer.

Parameters
bufferbuffer
indexindex
Returns
value

Definition at line 814 of file JAcoustics/JModel.hh.

815  {
816  const size_t pos = index / JValue_t::getN(); // position of element in buffer
817  const size_t offset = index % JValue_t::getN(); // offset of parameter in element
818 
819  JValue_t& value = buffer.data()[pos].second; // value of element at given position
820 
821  return ((double*) &value)[offset]; // parameter at given offset
822  }
template<class JFirst_t, class JSecond_t = JNullType>
JFirst_t& JMATH::JMath< JFirst_t, JSecond_t >::mul ( const JSecond_t &  object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 357 of file JMath.hh.

358  {
359  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
360  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void JTOOLS::JHashMapToolkit::reset ( JHashMap< JKey_t, JValue_t, JEvaluator_t > &  buffer)
inlinestaticinherited

Reset buffer.

Parameters
bufferbuffer

Definition at line 32 of file JHashMapToolkit.hh.

33  {
34  for (typename JHashMap<JKey_t, JValue_t, JEvaluator_t>::iterator i = buffer.begin(); i != buffer.end(); ++i) {
35  i->second = JValue_t();
36  }
37  }
container_type::iterator iterator
Definition: JHashMap.hh:88
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void JTOOLS::JHashMapToolkit::set ( JHashMap< JKey_t, JValue_t, JEvaluator_t > &  target,
const JHashMap< JKey_t, JValue_t, JEvaluator_t > &  source,
const JValue_t &  value 
)
inlinestaticinherited

Set values in target corresponding to keys in source.

Parameters
targettarget buffer
sourcesource buffer
valuevalue

Definition at line 48 of file JHashMapToolkit.hh.

51  {
52  target.clear();
53 
54  for (typename JHashMap<JKey_t, JValue_t, JEvaluator_t>::const_iterator i = source.begin(); i != source.end(); ++i) {
55  target[i->first] = value;
56  }
57  }
virtual void clear() override
Clear.
Definition: JHashMap.hh:107
container_type::const_iterator const_iterator
Definition: JHashMap.hh:86
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void JTOOLS::JHashMapToolkit::evaluate ( JHashMap< JKey_t, JValue_t, JEvaluator_t > &  buffer,
JValue_t &(JValue_t::*)()  f1 
)
inlinestaticinherited

Evaluate arithmetic operation on buffer.

Parameters
bufferbuffer
f1operation

Definition at line 67 of file JHashMapToolkit.hh.

69  {
70  for (typename JHashMap<JKey_t, JValue_t, JEvaluator_t>::iterator i = buffer.begin(); i != buffer.end(); ++i) {
71  (i->second.*f1)();
72  }
73  }
container_type::iterator iterator
Definition: JHashMap.hh:88
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void JTOOLS::JHashMapToolkit::evaluate ( JHashMap< JKey_t, JValue_t, JEvaluator_t > &  first,
const JHashMap< JKey_t, JValue_t, JEvaluator_t > &  second,
JValue_t &(JValue_t::*)(const JValue_t &)  f1 
)
inlinestaticinherited

Evaluate arithmetic operation on buffers.

Parameters
firstfirst buffer
secondsecond buffer
f1operation

Definition at line 84 of file JHashMapToolkit.hh.

87  {
88  for (typename JHashMap<JKey_t, JValue_t, JEvaluator_t>::const_iterator i = second.begin(); i != second.end(); ++i) {
89  (first[i->first].*f1)(i->second);
90  }
91  }
container_type::const_iterator const_iterator
Definition: JHashMap.hh:86
template<class JKey_t , class JValue_t , class JEvaluator_t >
static void JTOOLS::JHashMapToolkit::evaluate ( JHashMap< JKey_t, JValue_t, JEvaluator_t > &  buffer,
JValue_t &(JValue_t::*)(const double)  f1,
const double  factor 
)
inlinestaticinherited

Evaluate arithmetic operation on buffer.

Parameters
bufferbuffer
f1operation
factorfactor

Definition at line 102 of file JHashMapToolkit.hh.

105  {
106  for (typename JHashMap<JKey_t, JValue_t, JEvaluator_t>::iterator i = buffer.begin(); i != buffer.end(); ++i) {
107  (i->second.*f1)(factor);
108  }
109  }
container_type::iterator iterator
Definition: JHashMap.hh:88
template<class JKey_t , class JValue_t , class JEvaluator_t >
static bool JTOOLS::JHashMapToolkit::equals ( const JHashMap< JKey_t, JValue_t, JEvaluator_t > &  first,
const JHashMap< JKey_t, JValue_t, JEvaluator_t > &  second 
)
inlinestaticinherited

Check equality of buffers.

Parameters
firstfirst buffer
secondsecond buffer
Returns
true if buffers are equal; else false

Definition at line 120 of file JHashMapToolkit.hh.

122  {
124  p = first .begin(),
125  q = second.begin(); ; ++p, ++q) {
126 
127  if (p != first.end() && q != second.end()) {
128 
129  if (p->first != q->first || p->second != q->second) {
130  return false;
131  }
132 
133  } else if (p == first.end() && q == second.end()) {
134 
135  return true;
136 
137  } else {
138 
139  return false;
140  }
141  }
142  }
container_type::const_iterator const_iterator
Definition: JHashMap.hh:86
template<class JKey_t , class JValue_t , class JEvaluator_t >
static bool JTOOLS::JHashMapToolkit::equals ( const JHashMap< JKey_t, JValue_t, JEvaluator_t > &  first,
const JHashMap< JKey_t, JValue_t, JEvaluator_t > &  second,
const double  precision 
)
inlinestaticinherited

Check equality of buffers.

Parameters
firstfirst buffer
secondsecond buffer
precisionprecision
Returns
true if buffers are equal; else false

Definition at line 154 of file JHashMapToolkit.hh.

157  {
159  p = first .begin(),
160  q = second.begin(); ; ++p, ++q) {
161 
162  if (p != first.end() && q != second.end()) {
163 
164  if (p->first != q->first || !p->second.equals(q->second, precision)) {
165  return false;
166  }
167 
168  } else if (p == first.end() && q == second.end()) {
169 
170  return true;
171 
172  } else {
173 
174  return false;
175  }
176  }
177  }
container_type::const_iterator const_iterator
Definition: JHashMap.hh:86

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const JModel model 
)
friend

Write model parameters to output stream.

Parameters
outoutput stream
modelmodel
Returns
output stream

Definition at line 585 of file JAcoustics/JModel.hh.

586  {
587  using namespace std;
588  using namespace JPP;
589 
590  for (JHashMap<int, JString>::const_iterator i = model.string.begin(); i != model.string.end(); ++i) {
591  out << "string: " << setw(4) << i->first << ' ' << i->second << endl;
592  }
593 
594  for (JHashMap<JEKey, JEmitter>::const_iterator i = model.emitter.begin(); i != model.emitter.end(); ++i) {
595  out << "emitter: " << setw(2) << i->first << ' ' << i->second << endl;
596  }
597 
598  return out;
599  }
JACOUSTICS::JModel::string_type string
JACOUSTICS::JModel::emitter_type emitter
container_type::const_iterator const_iterator
Definition: JHashMap.hh:86

Member Data Documentation

JACOUSTICS::JModel::emitter_type JACOUSTICS::JModel::emitter
JACOUSTICS::JModel::string_type JACOUSTICS::JModel::string

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