Jpp  19.1.0-rc.1
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...
 
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...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. 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 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: