Jpp  18.3.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public 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
 
typedef size_t parameter_type
 Type definition of fit parameter. More...
 

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
 

Detailed Description

Auxiliary data structure to convert event to model.

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

Member Typedef Documentation

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

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

typedef size_t JACOUSTICS::JModel::parameter_type
inherited

Type definition of fit parameter.

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

Constructor & Destructor Documentation

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

Constructor.

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

Get model of detector.

Parameters
evtevent

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

104  {
105  for (JEvt::const_iterator i = evt.begin(); i != evt.end(); ++i) {
106  this->string[i->id] = getString(*i);
107  }
108  }
JMODEL::JString getString(const JFit &fit)
Get model parameters of string.
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  }
getModel(const T &object)
Constructor.
JACOUSTICS::JModel::emission_type emission
Emitter key.
Definition: JEKey.hh:32

Member Function Documentation

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

Get fit option.

Returns
option

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

548  {
549  return option;
550  }
JMODEL::JOption_t option
void JACOUSTICS::JModel::setOption ( const int  option)
inlineinherited

Set fit option.

Parameters
optionoption

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

559  {
560  using namespace JMODEL;
561 
562  switch (option) {
563 
564  case FIT_EMITTERS_ONLY_t:
568  this->option = static_cast<JOption_t>(option);
569  break;
570 
571  default:
572  THROW(JValueOutOfRange, "Invalid option " << option);
573  }
574  }
JMODEL::JOption_t option
fit times of emission of emitters and tilt angles of strings with second order correction ...
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:712
fit times of emission of emitters and tilt angles of strings
fit only times of emission of emitters
JOption_t
Options.
fit times of emission of emitters and tilt angles of strings with second order correction and stretch...
void JACOUSTICS::JModel::clear ( )
inlineinherited

Clear parameters.

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

581  {
582  string .clear();
583  emission.clear();
584  }
virtual void clear() override
Clear.
Definition: JHashMap.hh:107
JACOUSTICS::JModel::emission_type emission
void JACOUSTICS::JModel::reset ( )
inlineinherited

Reset parameters.

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

591  {
592  string .reset();
593  emission.reset();
594  }
void reset()
Reset values.
Definition: JHashMap.hh:116
JACOUSTICS::JModel::emission_type emission
JModel& JACOUSTICS::JModel::negate ( )
inlineinherited

Negate model.

Returns
this model

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

603  {
604  this->string .evaluate(&JString ::negate);
606 
607  return *this;
608  }
JEmission & negate()
Negate emission.
JString & negate()
Negate string.
JACOUSTICS::JModel::emission_type emission
void evaluate(value_type &(value_type::*f1)())
Evaluate arithmetic operation.
JModel& JACOUSTICS::JModel::add ( const JModel &  model)
inlineinherited

Add model.

Parameters
modelmodel
Returns
this model

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

618  {
619  this->string .evaluate(model.string, &JString ::add);
620  this->emission.evaluate(model.emission, &JEmission::add);
621 
622  return *this;
623  }
JEmission & add(const JEmission &emission)
Add emission.
JString & add(const JString &string)
Add string.
JACOUSTICS::JModel::emission_type emission
JACOUSTICS::JModel::string_type string
void evaluate(value_type &(value_type::*f1)())
Evaluate arithmetic operation.
JModel& JACOUSTICS::JModel::sub ( const JModel &  model)
inlineinherited

Subtract model.

Parameters
modelmodel
Returns
this model

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

633  {
634  this->string .evaluate(model.string, &JString ::sub);
635  this->emission.evaluate(model.emission, &JEmission::sub);
636 
637  return *this;
638  }
JString & sub(const JString &string)
Subtract string.
JACOUSTICS::JModel::emission_type emission
JEmission & sub(const JEmission &emission)
Subtract emission.
JACOUSTICS::JModel::string_type string
void evaluate(value_type &(value_type::*f1)())
Evaluate arithmetic operation.
JModel& JACOUSTICS::JModel::mul ( const double  factor)
inlineinherited

Scale model.

Parameters
factormultiplication factor
Returns
this model

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

648  {
649  this->string .evaluate(&JString ::mul, factor);
650  this->emission.evaluate(&JEmission::mul, factor);
651 
652  return *this;
653  }
JString & mul(const double factor)
Scale string.
JACOUSTICS::JModel::emission_type emission
JEmission & mul(const double factor)
Scale emission.
void evaluate(value_type &(value_type::*f1)())
Evaluate arithmetic operation.
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 354 of file JMath.hh.

355  {
356  return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
357  }
JModel& JACOUSTICS::JModel::div ( const double  factor)
inlineinherited

Scale model.

Parameters
factordivision factor
Returns
this model

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

663  {
664  this->string .evaluate(&JString ::div, factor);
665  this->emission.evaluate(&JEmission::div, factor);
666 
667  return *this;
668  }
JACOUSTICS::JModel::emission_type emission
JString & div(const double factor)
Scale string.
JEmission & div(const double factor)
Scale emission.
void evaluate(value_type &(value_type::*f1)())
Evaluate arithmetic operation.
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 678 of file JAcoustics/JModel.hh.

680  {
681  return (this->string .equals(model.string, precision) &&
682  this->emission.equals(model.emission, precision));
683  }
bool equals(const JModel &model, const double precision=std::numeric_limits< double >::min()) const
Check equality.
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn this
JACOUSTICS::JModel::emission_type emission
JACOUSTICS::JModel::string_type string
size_t JACOUSTICS::JModel::getN ( ) const
inlineinherited

Get number of fit parameters.

Returns
number of parameters

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

716  {
717  return emission.getN(this->option) + string.getN(this->option);
718  }
JMODEL::JOption_t option
JACOUSTICS::JModel::emission_type emission
size_t getN(const JMODEL::JOption_t option) const
Get number of fit parameters.
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 728 of file JAcoustics/JModel.hh.

729  {
730  return emission.getN(this->option) + string.getIndex(id, p, this->option);
731  }
JMODEL::JOption_t option
JACOUSTICS::JModel::emission_type emission
size_t getN(const JMODEL::JOption_t option) const
Get number of fit parameters.
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 741 of file JAcoustics/JModel.hh.

742  {
743  return emission.getIndex(id, p, this->option);
744  }
JMODEL::JOption_t option
size_t getIndex(const key_type key, double value_type::*p, const JMODEL::JOption_t option) const
Get index of parameter.
JACOUSTICS::JModel::emission_type emission
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 753 of file JAcoustics/JModel.hh.

754  {
755  size_t i = index;
756 
757  if (i < emission.getN(this->option)) { return emission.getParameter(i, this->option); }
758 
759  i -= emission.getN(this->option);
760 
761  if (i < string .getN(this->option)) { return string .getParameter(i, this->option); }
762 
763  THROW(JIndexOutOfRange, "Invalid index " << index << " >= " << getN());
764  }
JMODEL::JOption_t option
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:712
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn this
JACOUSTICS::JModel::emission_type emission
size_t getN(const JMODEL::JOption_t option) const
Get number of fit parameters.
double getParameter(const size_t index, const JMODEL::JOption_t option) const
Get read access to fit parameter value at given index in buffer.
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 773 of file JAcoustics/JModel.hh.

774  {
775  size_t i = index;
776 
777  if (i < emission.getN(this->option)) { return emission.getParameter(i, this->option); }
778 
779  i -= emission.getN(this->option);
780 
781  if (i < string .getN(this->option)) { return string .getParameter(i, this->option); }
782 
783  THROW(JIndexOutOfRange, "Invalid index " << index << " >= " << getN());
784  }
JMODEL::JOption_t option
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:712
then usage $script< detector file >< detectorfile > nIf the range of floors is the first detector file is aligned to the second before the comparison nIn this
JACOUSTICS::JModel::emission_type emission
size_t getN(const JMODEL::JOption_t option) const
Get number of fit parameters.
double getParameter(const size_t index, const JMODEL::JOption_t option) const
Get read access to fit parameter value at given index in buffer.

Member Data Documentation

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

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