Jpp  18.2.1
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 | Friends | List of all members
JCALIBRATE::JParameter_t Class Reference

Auxiliary class for fit parameter with optional limits. More...

#include <JFitK40.hh>

Inheritance diagram for JCALIBRATE::JParameter_t:
JMATH::JMath< JFirst_t, JSecond_t >

Public Types

enum  FIT_t { FREE_t = 0, FIXED_t }
 Fit options. More...
 
typedef JTOOLS::JRange< double > range_type
 Type definition for range of parameter values. More...
 

Public Member Functions

 JParameter_t ()
 Default constructor. More...
 
 JParameter_t (const double value, const range_type &range=range_type::DEFAULT_RANGE())
 Constructor. More...
 
JParameter_tnegate ()
 Negate parameter. More...
 
JParameter_tadd (const JParameter_t &parameter)
 Add parameter. More...
 
JParameter_tsub (const JParameter_t &parameter)
 Subtract parameter. More...
 
JParameter_tmul (const double factor)
 Scale parameter. More...
 
JParameter_tdiv (const double factor)
 Scale parameter. More...
 
JParameter_tmul (const JParameter_t &first, const JParameter_t &second)
 Scale parameter. More...
 
bool isFree () const
 Check if parameter is free. More...
 
bool isFixed () const
 Check if parameter is fixed. More...
 
bool isBound () const
 Check if parameter is bound. More...
 
void set ()
 Set current value. More...
 
void fix ()
 Fix current value. More...
 
double get () const
 Get value. More...
 
void set (const double value)
 Set value. More...
 
void fix (const double value)
 Fix value. More...
 
double getDerivative () const
 Get derivative of value. More...
 
double operator() () const
 Type conversion operator. More...
 
 operator double () const
 Type conversion operator. More...
 
JParameter_toperator= (double value)
 Assignment operator. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 

Public Attributes

double value = 0.0
 
FIT_t option = FREE_t
 
range_type range = range_type::DEFAULT_RANGE()
 

Friends

std::istream & operator>> (std::istream &in, JParameter_t &object)
 Read parameter from input stream. More...
 
std::ostream & operator<< (std::ostream &out, const JParameter_t &object)
 Write parameter to output stream. More...
 

Detailed Description

Auxiliary class for fit parameter with optional limits.

Definition at line 107 of file JFitK40.hh.

Member Typedef Documentation

Type definition for range of parameter values.

Definition at line 123 of file JFitK40.hh.

Member Enumeration Documentation

Fit options.

Enumerator
FREE_t 

free

FIXED_t 

fixed

Definition at line 114 of file JFitK40.hh.

114  {
115  FREE_t = 0, //!< free
116  FIXED_t //!< fixed
117  };

Constructor & Destructor Documentation

JCALIBRATE::JParameter_t::JParameter_t ( )
inline

Default constructor.

Definition at line 129 of file JFitK40.hh.

130  {
131  set(0.0);
132  }
void set()
Set current value.
Definition: JFitK40.hh:269
JCALIBRATE::JParameter_t::JParameter_t ( const double  value,
const range_type range = range_type::DEFAULT_RANGE() 
)
inline

Constructor.

Parameters
valuevalue
rangerange

Definition at line 141 of file JFitK40.hh.

142  :
143  range(range)
144  {
145  set(value);
146  }
void set()
Set current value.
Definition: JFitK40.hh:269

Member Function Documentation

JParameter_t& JCALIBRATE::JParameter_t::negate ( )
inline

Negate parameter.

Returns
this parameter

Definition at line 154 of file JFitK40.hh.

155  {
156  set(-get());
157 
158  return *this;
159  }
void set()
Set current value.
Definition: JFitK40.hh:269
JParameter_t& JCALIBRATE::JParameter_t::add ( const JParameter_t parameter)
inline

Add parameter.

Parameters
parameterparameter
Returns
this parameter

Definition at line 168 of file JFitK40.hh.

169  {
170  set(get() + parameter.get());
171 
172  return *this;
173  }
void set()
Set current value.
Definition: JFitK40.hh:269
double get() const
Get value.
Definition: JFitK40.hh:289
JParameter_t& JCALIBRATE::JParameter_t::sub ( const JParameter_t parameter)
inline

Subtract parameter.

Parameters
parameterparameter
Returns
this parameter

Definition at line 182 of file JFitK40.hh.

183  {
184  set(get() - parameter.get());
185 
186  return *this;
187  }
void set()
Set current value.
Definition: JFitK40.hh:269
double get() const
Get value.
Definition: JFitK40.hh:289
JParameter_t& JCALIBRATE::JParameter_t::mul ( const double  factor)
inline

Scale parameter.

Parameters
factormultiplication factor
Returns
this parameter

Definition at line 196 of file JFitK40.hh.

197  {
198  set(get() * factor);
199 
200  return *this;
201  }
void set()
Set current value.
Definition: JFitK40.hh:269
JParameter_t& JCALIBRATE::JParameter_t::div ( const double  factor)
inline

Scale parameter.

Parameters
factordivision factor
Returns
this parameter

Definition at line 210 of file JFitK40.hh.

211  {
212  set(get() / factor);
213 
214  return *this;
215  }
void set()
Set current value.
Definition: JFitK40.hh:269
JParameter_t& JCALIBRATE::JParameter_t::mul ( const JParameter_t first,
const JParameter_t second 
)
inline

Scale parameter.

Parameters
firstfirst parameter
secondsecond parameter
Returns
this parameter

Definition at line 225 of file JFitK40.hh.

226  {
227  set(first.get() * second.get());
228 
229  return *this;
230  }
void set()
Set current value.
Definition: JFitK40.hh:269
double get() const
Get value.
Definition: JFitK40.hh:289
bool JCALIBRATE::JParameter_t::isFree ( ) const
inline

Check if parameter is free.

Returns
true if free; else false

Definition at line 238 of file JFitK40.hh.

239  {
240  return option == FREE_t;
241  }
bool JCALIBRATE::JParameter_t::isFixed ( ) const
inline

Check if parameter is fixed.

Returns
true if fixed; else false

Definition at line 249 of file JFitK40.hh.

250  {
251  return option == FIXED_t;
252  }
bool JCALIBRATE::JParameter_t::isBound ( ) const
inline

Check if parameter is bound.

Returns
true if bound; else false

Definition at line 260 of file JFitK40.hh.

261  {
262  return range.is_valid();
263  }
bool is_valid() const
Check validity of range.
Definition: JRange.hh:311
void JCALIBRATE::JParameter_t::set ( )
inline

Set current value.

Definition at line 269 of file JFitK40.hh.

270  {
271  option = FREE_t;
272  }
void JCALIBRATE::JParameter_t::fix ( )
inline

Fix current value.

Definition at line 278 of file JFitK40.hh.

279  {
280  option = FIXED_t;
281  }
double JCALIBRATE::JParameter_t::get ( ) const
inline

Get value.

Returns
value

Definition at line 289 of file JFitK40.hh.

290  {
291  if (isBound())
292  return range.getLowerLimit() + 0.5 * range.getLength() * (sin(value) + 1.0);
293  else
294  return value;
295  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
T getLength() const
Get length (difference between upper and lower limit).
Definition: JRange.hh:289
then usage set_variable ACOUSTICS_WORKDIR $WORKDIR set_variable FORMULA sin([0]+2 *$PI *([1]+[2]*x)*x)" set_variable DY 1.0e-8 mkdir $WORKDIR for DETECTOR in $DETECTORS[*]
bool isBound() const
Check if parameter is bound.
Definition: JFitK40.hh:260
void JCALIBRATE::JParameter_t::set ( const double  value)
inline

Set value.

Parameters
valuevalue

Definition at line 303 of file JFitK40.hh.

304  {
305  if (isBound())
306  this->value = asin(2.0 * (range.constrain(value) - range.getLowerLimit()) / range.getLength() - 1.0);
307  else
308  this->value = value;
309 
310  set();
311  }
void set()
Set current value.
Definition: JFitK40.hh:269
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
T getLength() const
Get length (difference between upper and lower limit).
Definition: JRange.hh:289
T constrain(argument_type x) const
Constrain value to range.
Definition: JRange.hh:350
bool isBound() const
Check if parameter is bound.
Definition: JFitK40.hh:260
void JCALIBRATE::JParameter_t::fix ( const double  value)
inline

Fix value.

Parameters
valuevalue

Definition at line 319 of file JFitK40.hh.

320  {
321  set(value);
322 
323  fix();
324  }
void set()
Set current value.
Definition: JFitK40.hh:269
void fix()
Fix current value.
Definition: JFitK40.hh:278
double JCALIBRATE::JParameter_t::getDerivative ( ) const
inline

Get derivative of value.

Returns
derivative of value

Definition at line 332 of file JFitK40.hh.

333  {
334  if (isBound())
335  return 0.5 * range.getLength() * cos(value);
336  else
337  return 1.0;
338  }
T getLength() const
Get length (difference between upper and lower limit).
Definition: JRange.hh:289
bool isBound() const
Check if parameter is bound.
Definition: JFitK40.hh:260
double JCALIBRATE::JParameter_t::operator() ( ) const
inline

Type conversion operator.

Returns
value

Definition at line 346 of file JFitK40.hh.

347  {
348  return get();
349  }
JCALIBRATE::JParameter_t::operator double ( ) const
inline

Type conversion operator.

Returns
value

Definition at line 357 of file JFitK40.hh.

358  {
359  return get();
360  }
JParameter_t& JCALIBRATE::JParameter_t::operator= ( double  value)
inline

Assignment operator.

Parameters
valuevalue
Returns
this parameter

Definition at line 369 of file JFitK40.hh.

370  {
371  set(value);
372 
373  return *this;
374  }
void set()
Set current value.
Definition: JFitK40.hh:269
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  }

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JParameter_t object 
)
friend

Read parameter from input stream.

Parameters
ininput stream
objectparameter
Returns
input stream

Definition at line 384 of file JFitK40.hh.

385  {
386  return in >> object.value;
387  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
std::ostream& operator<< ( std::ostream &  out,
const JParameter_t object 
)
friend

Write parameter to output stream.

Parameters
outoutput stream
objectparameter
Returns
output stream

Definition at line 397 of file JFitK40.hh.

398  {
399  using namespace std;
400 
401  out << FIXED(12,6) << object.get() << ' '
402  << setw(5) << (object.isFixed() ? "fixed" : " ") << ' ';
403 
404  if (object.isBound()) {
405  out << FIXED(12,6) << object.value << ' ';
406  out << FIXED(12,6) << object.range.getLowerLimit() << ' '
407  << FIXED(12,6) << object.range.getUpperLimit();
408  }
409 
410  return out;
411  }
Auxiliary data structure for floating point format specification.
Definition: JManip.hh:446
bool isBound() const
Check if parameter is bound.
Definition: JFitK40.hh:260

Member Data Documentation

double JCALIBRATE::JParameter_t::value = 0.0

Definition at line 414 of file JFitK40.hh.

FIT_t JCALIBRATE::JParameter_t::option = FREE_t

Definition at line 415 of file JFitK40.hh.

range_type JCALIBRATE::JParameter_t::range = range_type::DEFAULT_RANGE()

Definition at line 416 of file JFitK40.hh.


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