Jpp master_rocky-44-g75b7c4f75
the software that should make you happy
Loading...
Searching...
No Matches
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.
 
template<>
 getModel (const JEvt &evt)
 Get model of detector.
 
template<>
 getModel (const JSuperEvt &evt)
 Get model of detector.
 
JMODEL::JOption_t getOption () const
 Get fit option.
 
void setOption (const int option)
 Set fit option.
 
void clear ()
 Clear parameters.
 
void reset ()
 Reset parameters.
 
JModel & negate ()
 Negate model.
 
JModel & add (const JModel &model)
 Add model.
 
JModel & sub (const JModel &model)
 Subtract model.
 
JModel & mul (const double factor)
 Scale model.
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object.
 
JModel & div (const double factor)
 Scale model.
 
bool equals (const JModel &model, const double precision=std::numeric_limits< double >::min()) const
 Check equality.
 
size_t getN () const
 Get number of fit parameters.
 
size_t getIndex (int id, double JString::*p) const
 Get index of fit parameter for given string.
 
size_t getIndex (const JEKey &id, double JEmission::*p) const
 Get index of fit parameter for given emission.
 
double operator[] (const size_t index) const
 Read access to fit parameter value by index.
 
double & operator[] (const size_t index)
 Read/write access to fit parameter value by index.
 

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

◆ JEmission

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 }
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
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.
@ 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...

◆ 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.
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.

◆ 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.

◆ 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.

◆ 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.

◆ 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 }
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: