Jpp  19.1.0
the software that should make you happy
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
JACOUSTICS::getModel Struct Reference

Auxiliary data structure to convert event to model. More...

#include <JEvtToolkit.hh>

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

Public Types

typedef JMODEL::JString JString
 
typedef JMODEL::JEmission JEmission
 

Public Member Functions

template<class T >
 getModel (const T &object)
 Constructor. More...
 
template<>
 getModel (const JEvt &evt)
 Get model of detector. More...
 
template<>
 getModel (const JSuperEvt &evt)
 Get model of detector. More...
 
JMODEL::JOption_t getOption () const
 Get fit option. More...
 
void setOption (const int option)
 Set fit option. More...
 
void clear ()
 Clear parameters. More...
 
void reset ()
 Reset parameters. More...
 
JModel & negate ()
 Negate model. More...
 
JModel & add (const JModel &model)
 Add model. More...
 
JModel & sub (const JModel &model)
 Subtract model. More...
 
JModel & mul (const double factor)
 Scale model. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 
JModel & div (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 JEmission::*p) const
 Get index of fit parameter for given emission. 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...
 

Public Attributes

JACOUSTICS::JModel::emission_type emission
 
JACOUSTICS::JModel::string_type string
 

Private Attributes

JMODEL::JOption_t option
 

Detailed Description

Auxiliary data structure to convert event to model.

Definition at line 124 of file JAcoustics/JEvtToolkit.hh.

Member Typedef Documentation

◆ JString

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

◆ JEmission

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

Constructor & Destructor Documentation

◆ getModel() [1/3]

template<class T >
JACOUSTICS::getModel::getModel ( const T &  object)

Constructor.

◆ getModel() [2/3]

template<>
JACOUSTICS::getModel::getModel ( const JEvt &  evt)
inline

Get model of detector.

Parameters
evtevent

Definition at line 142 of file JAcoustics/JEvtToolkit.hh.

143  {
144  for (JEvt::const_iterator i = evt.begin(); i != evt.end(); ++i) {
145  this->string[i->id] = getString(*i);
146  }
147  }
JMODEL::JString getString(const JFit &fit)
Get model parameters of string.

◆ getModel() [3/3]

template<>
JACOUSTICS::getModel::getModel ( const JSuperEvt &  evt)
inline

Get model of detector.

Parameters
evtsuper event

Definition at line 29 of file JSuperEvtToolkit.hh.

29  :
30  getModel(static_cast<const JEvt&>(evt))
31  {
32  for (JSuperEvt::tx_type::const_iterator i = evt.tx.begin(); i != evt.tx.end(); ++i) {
33  this->emission[JEKey(i->id,i->counter)] = JMODEL::JEmission(i->toe);
34  }
35  }
Emitter key.
Definition: JEKey.hh:36
Acoustic event fit.
JACOUSTICS::JModel::emission_type emission
getModel(const T &object)
Constructor.

Member Function Documentation

◆ getOption()

JMODEL::JOption_t JACOUSTICS::JModel::getOption ( ) const
inlineinherited

Get fit option.

Returns
option

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

543  {
544  return option;
545  }
JMODEL::JOption_t option

◆ setOption()

void JACOUSTICS::JModel::setOption ( const int  option)
inlineinherited

Set fit option.

Parameters
optionoption

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

554  {
555  using namespace JMODEL;
556 
557  switch (option) {
558 
559  case FIT_EMITTERS_ONLY_t:
563  this->option = static_cast<JOption_t>(option);
564  break;
565 
566  default:
567  THROW(JValueOutOfRange, "Invalid option " << option);
568  }
569  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
Exception for accessing a value in a collection that is outside of its range.
Definition: JException.hh:180
@ FIT_EMITTERS_AND_STRINGS_1st_ORDER_t
fit times of emission of emitters and tilt angles of strings
@ FIT_EMITTERS_AND_STRINGS_2nd_ORDER_t
fit times of emission of emitters and tilt angles of strings with second order correction
@ FIT_EMITTERS_ONLY_t
fit only times of emission of emitters
@ FIT_EMITTERS_AND_STRINGS_2nd_ORDER_AND_STRETCHING_t
fit times of emission of emitters and tilt angles of strings with second order correction and stretch...
JOption_t
Fit options.
Definition: JFitK40.hh:52

◆ clear()

void JACOUSTICS::JModel::clear ( )
inlineinherited

Clear parameters.

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

576  {
577  string .clear();
578  emission.clear();
579  }
virtual void clear() override
Clear.
Definition: JHashMap.hh:107

◆ reset()

void JACOUSTICS::JModel::reset ( )
inlineinherited

Reset parameters.

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

586  {
587  string .reset();
588  emission.reset();
589  }
void reset()
Reset values.
Definition: JHashMap.hh:116

◆ negate()

JModel& JACOUSTICS::JModel::negate ( )
inlineinherited

Negate model.

Returns
this model

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

598  {
599  this->string .evaluate(&JString ::negate);
601 
602  return *this;
603  }
JEmission & negate()
Negate emission.
JString & negate()
Negate string.
void evaluate(value_type &(value_type::*f1)())
Evaluate arithmetic operation.

◆ add()

JModel& JACOUSTICS::JModel::add ( const JModel &  model)
inlineinherited

Add model.

Parameters
modelmodel
Returns
this model

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

613  {
614  this->string .evaluate(model.string, &JString ::add);
615  this->emission.evaluate(model.emission, &JEmission::add);
616 
617  return *this;
618  }
JEmission & add(const JEmission &emission)
Add emission.
JString & add(const JString &string)
Add string.
JACOUSTICS::JModel::string_type string

◆ sub()

JModel& JACOUSTICS::JModel::sub ( const JModel &  model)
inlineinherited

Subtract model.

Parameters
modelmodel
Returns
this model

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

628  {
629  this->string .evaluate(model.string, &JString ::sub);
630  this->emission.evaluate(model.emission, &JEmission::sub);
631 
632  return *this;
633  }
JEmission & sub(const JEmission &emission)
Subtract emission.
JString & sub(const JString &string)
Subtract string.

◆ mul() [1/2]

JModel& JACOUSTICS::JModel::mul ( const double  factor)
inlineinherited

Scale model.

Parameters
factormultiplication factor
Returns
this model

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

643  {
644  this->string .evaluate(&JString ::mul, factor);
645  this->emission.evaluate(&JEmission::mul, factor);
646 
647  return *this;
648  }
JEmission & mul(const double factor)
Scale emission.
JString & mul(const double factor)
Scale string.

◆ mul() [2/2]

template<class JFirst_t , class JSecond_t >
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 354 of file JMath.hh.

355  {
356  return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
357  }

◆ div()

JModel& JACOUSTICS::JModel::div ( const double  factor)
inlineinherited

Scale model.

Parameters
factordivision factor
Returns
this model

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

658  {
659  this->string .evaluate(&JString ::div, factor);
660  this->emission.evaluate(&JEmission::div, factor);
661 
662  return *this;
663  }
JEmission & div(const double factor)
Scale emission.
JString & div(const double factor)
Scale string.

◆ equals()

bool JACOUSTICS::JModel::equals ( const JModel &  model,
const double  precision = std::numeric_limits<double>::min() 
) const
inlineinherited

Check equality.

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

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

675  {
676  return (this->string .equals(model.string, precision) &&
677  this->emission.equals(model.emission, precision));
678  }
bool equals(const JModel &model, const double precision=std::numeric_limits< double >::min()) const
Check equality.

◆ getN()

size_t JACOUSTICS::JModel::getN ( ) const
inlineinherited

Get number of fit parameters.

Returns
number of parameters

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

711  {
712  return emission.getN(this->option) + string.getN(this->option);
713  }
size_t getN(const JMODEL::JOption_t option) const
Get number of fit parameters.

◆ getIndex() [1/2]

size_t JACOUSTICS::JModel::getIndex ( int  id,
double JString::*  p 
) const
inlineinherited

Get index of fit parameter for given string.

Parameters
idstring identifier
ppointer to data member
Returns
parameter

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

724  {
725  return emission.getN(this->option) + string.getIndex(id, p, this->option);
726  }

◆ getIndex() [2/2]

size_t JACOUSTICS::JModel::getIndex ( const JEKey &  id,
double JEmission::*  p 
) const
inlineinherited

Get index of fit parameter for given emission.

Parameters
idemission key
ppointer to data member
Returns
parameter

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

737  {
738  return emission.getIndex(id, p, this->option);
739  }
size_t getIndex(const key_type key, double value_type::*p, const JMODEL::JOption_t option) const
Get index of parameter.

◆ operator[]() [1/2]

double JACOUSTICS::JModel::operator[] ( const size_t  index) const
inlineinherited

Read access to fit parameter value by index.

Parameters
indexindex
Returns
value

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

749  {
750  size_t i = index;
751 
752  if (i < emission.getN(this->option)) { return emission.getParameter(i, this->option); }
753 
754  i -= emission.getN(this->option);
755 
756  if (i < string .getN(this->option)) { return string .getParameter(i, this->option); }
757 
758  THROW(JIndexOutOfRange, "Invalid index " << index << " >= " << getN());
759  }
Exception for accessing an index in a collection that is outside of its range.
Definition: JException.hh:108
double getParameter(const size_t index, const JMODEL::JOption_t option) const
Get read access to fit parameter value at given index in buffer.
size_t getN() const
Get number of fit parameters.

◆ operator[]() [2/2]

double& JACOUSTICS::JModel::operator[] ( const size_t  index)
inlineinherited

Read/write access to fit parameter value by index.

Parameters
indexindex
Returns
value

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

769  {
770  size_t i = index;
771 
772  if (i < emission.getN(this->option)) { return emission.getParameter(i, this->option); }
773 
774  i -= emission.getN(this->option);
775 
776  if (i < string .getN(this->option)) { return string .getParameter(i, this->option); }
777 
778  THROW(JIndexOutOfRange, "Invalid index " << index << " >= " << getN());
779  }

Member Data Documentation

◆ emission

JACOUSTICS::JModel::emission_type JACOUSTICS::JModel::emission
inherited

◆ string

JACOUSTICS::JModel::string_type JACOUSTICS::JModel::string
inherited

◆ option

JMODEL::JOption_t JACOUSTICS::JModel::option
privateinherited

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


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