Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
JDETECTOR::JDetectorHeader Class Reference

Data structure for detector header. More...

#include <JDetectorHeader.hh>

Inheritance diagram for JDETECTOR::JDetectorHeader:
JUTC::JUTCTimeRange JUTM::JUTMGrid JUTM::JUTMPosition JTOOLS::JRange< T, JComparator_t > JMATH::JMath< JUTMPosition > JTOOLS::JPair< T, T > JLANG::JEquals< JFirst_t, JSecond_t > JMATH::JMath< JFirst_t, JSecond_t > JDETECTOR::JDetector JDETECTOR::JMonteCarloDetector

Classes

class  JDetectorHeaderHelper
 Auxiliary class for I/O of detector header. More...
 

Public Types

typedef JRange< T, JComparator_t > range_type
 
typedef JLANG::JClass< T >
::argument_type 
argument_type
 
typedef T key_type
 
typedef T mapped_type
 

Public Member Functions

 JDetectorHeader ()
 Default constructor. More...
 
 JDetectorHeader (const JUTCTimeRange &range, const JUTMGrid &grid, const JUTMPosition &pos)
 Constructor. More...
 
JProperties getProperties (const JEquationParameters &equation=JDetectorHeader::getEquationParameters())
 Get properties of this class. More...
 
JProperties getProperties (const JEquationParameters &equation=JDetectorHeader::getEquationParameters()) const
 Get properties of this class. More...
 
const range_typegetRange () const
 Get range. More...
 
void setRange (const range_type &range)
 Set range. More...
 
void setRange (argument_type x, argument_type y)
 Set lower and upper limit. More...
 
template<class R >
void setRange (R first, R second)
 Set range. More...
 
template<class iterator_type , class value_type , class result_type >
void setRange (iterator_type __begin, iterator_type __end, result_type value_type::*member)
 Set lower and upper limit according to minimal and maximal value in input data, respectively. More...
 
template<class iterator_type , class value_type , class result_type >
void setRange (iterator_type __begin, iterator_type __end, result_type(value_type::*function)() const)
 Set lower and upper limit according to minimal and maximal value in input data, respectively. More...
 
T getLowerLimit () const
 Get lower limit. More...
 
T getUpperLimit () const
 Get upper limit. More...
 
void setLowerLimit (argument_type x)
 Set lower limit. More...
 
void setUpperLimit (argument_type y)
 Set upper limit. More...
 
void fixLowerLimit (argument_type x)
 Fix lower limit. More...
 
void fixUpperLimit (argument_type y)
 Fix upper limit. More...
 
bool equals (const range_type &range) const
 Equal method. More...
 
T getLength () const
 Get length (difference between upper and lower limit). More...
 
void setLength (argument_type length)
 Set length (difference between upper and lower limit). More...
 
bool is_valid () const
 Check validity of range. More...
 
bool operator() (argument_type x) const
 Test whether value is inside range. More...
 
T constrain (argument_type x) const
 Constrain value to range. More...
 
T mod (argument_type x) const
 Modulo value with respect to range. More...
 
bool overlap (const range_type &range) const
 Test overlap with given range. More...
 
range_type include (argument_type x)
 Include given value to range. More...
 
range_typejoin (const range_type &range)
 Join ranges. More...
 
range_typecombine (const range_type &range)
 Combine ranges. More...
 
range_typeadd (argument_type x)
 Add offset. More...
 
range_typeadd (const range_type &range)
 Add offsets. More...
 
range_typesub (argument_type x)
 Subtract offset. More...
 
range_typesub (const range_type &range)
 Subtract offsets. More...
 
range_typemul (const double factor)
 Multiply range. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 
range_typediv (const double factor)
 Divide range. More...
 
T getN (const double R) const
 Get expected number of occurances of given rate within this interval. More...
 
const key_typegetKey () const
 
const mapped_typegetValue () const
 
mapped_typegetValue ()
 
const std::string & getKey () const
 Get key. More...
 
const std::string & getWGS () const
 Get WGS. More...
 
const std::string & getUTMZone () const
 Get UTM zone. More...
 
std::string toString () const
 Convert UTM grid. More...
 
const JUTMPositiongetUTMPosition () const
 Get UTM position. More...
 
JPosition3D getPosition () const
 Get position. More...
 
 operator JPosition3D () const
 Type conversion operator. More...
 
double getUTMEast () const
 Get UTM east. More...
 
double getUTMNorth () const
 Get UTM north. More...
 
double getUTMZ () const
 Get UTM Z. More...
 
JUTMPositionnegate ()
 Negate UTM position. More...
 
JUTMPositionadd (const JUTMPosition &pos)
 Add UTM position. More...
 
JUTMPositionsub (const JUTMPosition &pos)
 Subtract UTM position. More...
 
JUTMPositionmul (const double factor)
 Scale UTM position. More...
 
JUTMPositionmul (const JNullType &object)
 Multiply with object. More...
 
JUTMPositiondiv (const double factor)
 Scale UTM position. More...
 

Static Public Member Functions

static JEquationParametersgetEquationParameters ()
 Get equation parameters. More...
 
static void setEquationParameters (const JEquationParameters &equation)
 Set equation parameters. More...
 
static T getMinimum ()
 Get minimum possible value. More...
 
static T getMaximum ()
 Get maximum possible value. More...
 
static JUTMGrid valueOf (const std::string &buffer)
 Extract UTM grid. More...
 

Public Attributes

JComparator_t compare
 Function object. More...
 
T first
 
T second
 

Static Public Attributes

static const JRange< T,
JComparator_t > 
DEFAULT_RANGE
 Default range. More...
 

Protected Member Functions

template<class R >
void setRange (R first, R second, const JLANG::JBool< false > &option)
 Set range. More...
 
template<class R >
void setRange (R first, R second, const JLANG::JBool< true > &option)
 Set range. More...
 

Protected Attributes

std::string key
 
std::string wgs
 
std::string zone
 
double east
 
double north
 
double z
 

Friends

std::istream & operator>> (std::istream &in, JDetectorHeader &header)
 Read detector header from input. More...
 
std::ostream & operator<< (std::ostream &out, const JDetectorHeader &header)
 Write detector header to output. More...
 
JReaderoperator>> (JReader &in, JDetectorHeader &header)
 Read detector header from input. More...
 
JWriteroperator<< (JWriter &out, const JDetectorHeader &header)
 Write detector header to output. More...
 

Detailed Description

Data structure for detector header.

Definition at line 35 of file JDetectorHeader.hh.

Member Typedef Documentation

template<class T, class JComparator_t = std::less<T>>
typedef JRange<T, JComparator_t> JTOOLS::JRange< T, JComparator_t >::range_type
inherited

Definition at line 41 of file JRange.hh.

template<class T, class JComparator_t = std::less<T>>
typedef JLANG::JClass<T>::argument_type JTOOLS::JRange< T, JComparator_t >::argument_type
inherited

Definition at line 42 of file JRange.hh.

typedef T JTOOLS::JPair< T , T >::key_type
inherited

Definition at line 32 of file JPair.hh.

typedef T JTOOLS::JPair< T , T >::mapped_type
inherited

Definition at line 33 of file JPair.hh.

Constructor & Destructor Documentation

JDETECTOR::JDetectorHeader::JDetectorHeader ( )
inline

Default constructor.

Definition at line 44 of file JDetectorHeader.hh.

44  :
45  JUTCTimeRange(),
46  JUTMGrid (),
47  JUTMPosition ()
48  {}
JUTMPosition()
Default constructor.
Definition: JUTMPosition.hh:41
JUTCTimeRange()
Default constructor.
JUTMGrid()
Default constructor.
Definition: JUTMGrid.hh:39
JDETECTOR::JDetectorHeader::JDetectorHeader ( const JUTCTimeRange range,
const JUTMGrid grid,
const JUTMPosition pos 
)
inline

Constructor.

Parameters
rangeUTC time range
gridUTM grid
posUTM position

Definition at line 58 of file JDetectorHeader.hh.

60  :
61  JUTCTimeRange(range),
62  JUTMGrid (grid),
63  JUTMPosition (pos)
64  {}
JUTMPosition()
Default constructor.
Definition: JUTMPosition.hh:41
JUTCTimeRange()
Default constructor.
JUTMGrid()
Default constructor.
Definition: JUTMGrid.hh:39

Member Function Documentation

static JEquationParameters& JDETECTOR::JDetectorHeader::getEquationParameters ( )
inlinestatic

Get equation parameters.

Returns
equation parameters

Definition at line 144 of file JDetectorHeader.hh.

145  {
146  static JEquationParameters equation;
147 
148  return equation;
149  }
Simple data structure to support I/O of equations (see class JLANG::JEquation).
static void JDETECTOR::JDetectorHeader::setEquationParameters ( const JEquationParameters equation)
inlinestatic

Set equation parameters.

Parameters
equationequation parameters

Definition at line 158 of file JDetectorHeader.hh.

159  {
160  getEquationParameters() = equation;
161  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
JProperties JDETECTOR::JDetectorHeader::getProperties ( const JEquationParameters equation = JDetectorHeader::getEquationParameters())
inline

Get properties of this class.

Parameters
equationequation parameters

Definition at line 169 of file JDetectorHeader.hh.

170  {
171  return JDetectorHeaderHelper(*this, equation);
172  }
JProperties JDETECTOR::JDetectorHeader::getProperties ( const JEquationParameters equation = JDetectorHeader::getEquationParameters()) const
inline

Get properties of this class.

Parameters
equationequation parameters

Definition at line 180 of file JDetectorHeader.hh.

181  {
182  return JDetectorHeaderHelper(*this, equation);
183  }
template<class T, class JComparator_t = std::less<T>>
const range_type& JTOOLS::JRange< T, JComparator_t >::getRange ( ) const
inlineinherited

Get range.

Returns
range

Definition at line 128 of file JRange.hh.

129  {
130  return static_cast<const range_type&>(*this);
131  }
JRange< T, JComparator_t > range_type
Definition: JRange.hh:41
template<class T, class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setRange ( const range_type range)
inlineinherited

Set range.

Parameters
rangerange

Definition at line 139 of file JRange.hh.

140  {
141  static_cast<range_type&>(*this) = range;
142  }
JRange< T, JComparator_t > range_type
Definition: JRange.hh:41
template<class T, class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setRange ( argument_type  x,
argument_type  y 
)
inlineinherited

Set lower and upper limit.

Parameters
xlower limit
yupper limit

Definition at line 151 of file JRange.hh.

152  {
153  this->first = x;
154  this->second = y;
155  }
template<class T, class JComparator_t = std::less<T>>
template<class R >
void JTOOLS::JRange< T, JComparator_t >::setRange ( R  first,
R  second 
)
inlineinherited

Set range.


The arguments could be values or iterators.

Parameters
firstfirst
secondsecond

Definition at line 166 of file JRange.hh.

167  {
168  using namespace JLANG;
169 
171  }
Auxiliary template class for type bool.
Definition: JBool.hh:20
Data structure to check whether given data type is an iterator.
Definition: JClass.hh:62
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:139
template<class T, class JComparator_t = std::less<T>>
template<class iterator_type , class value_type , class result_type >
void JTOOLS::JRange< T, JComparator_t >::setRange ( iterator_type  __begin,
iterator_type  __end,
result_type value_type::*  member 
)
inlineinherited

Set lower and upper limit according to minimal and maximal value in input data, respectively.

Parameters
__beginbegin of data
__endend of data
memberpointer to data member

Definition at line 182 of file JRange.hh.

183  {
185 
186  for (iterator_type i = __begin; i != __end; ++i) {
187  include((*i).*member);
188  }
189  }
range_type include(argument_type x)
Include given value to range.
Definition: JRange.hh:399
static T getMinimum()
Get minimum possible value.
Definition: JRange.hh:548
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:139
static T getMaximum()
Get maximum possible value.
Definition: JRange.hh:559
template<class T, class JComparator_t = std::less<T>>
template<class iterator_type , class value_type , class result_type >
void JTOOLS::JRange< T, JComparator_t >::setRange ( iterator_type  __begin,
iterator_type  __end,
result_type(value_type::*)() const  function 
)
inlineinherited

Set lower and upper limit according to minimal and maximal value in input data, respectively.

Parameters
__beginbegin of data
__endend of data
functionpointer to member method

Definition at line 200 of file JRange.hh.

201  {
203 
204  for (iterator_type i = __begin; i != __end; ++i) {
205  include(((*i).*function)());
206  }
207  }
range_type include(argument_type x)
Include given value to range.
Definition: JRange.hh:399
static T getMinimum()
Get minimum possible value.
Definition: JRange.hh:548
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:139
static T getMaximum()
Get maximum possible value.
Definition: JRange.hh:559
template<class T, class JComparator_t = std::less<T>>
template<class R >
void JTOOLS::JRange< T, JComparator_t >::setRange ( R  first,
R  second,
const JLANG::JBool< false > &  option 
)
inlineprotectedinherited

Set range.

Parameters
firstfirst
secondsecond
optionfalse

Definition at line 590 of file JRange.hh.

591  {
593  }
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:139
JLANG::JClass< T >::argument_type argument_type
Definition: JRange.hh:42
template<class T, class JComparator_t = std::less<T>>
template<class R >
void JTOOLS::JRange< T, JComparator_t >::setRange ( R  first,
R  second,
const JLANG::JBool< true > &  option 
)
inlineprotectedinherited

Set range.

Parameters
firstfirst
secondsecond
optiontrue

Definition at line 604 of file JRange.hh.

605  {
607 
608  for (R i = first; i != second; ++i) {
609  include(*i);
610  }
611  }
range_type include(argument_type x)
Include given value to range.
Definition: JRange.hh:399
static T getMinimum()
Get minimum possible value.
Definition: JRange.hh:548
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:139
static T getMaximum()
Get maximum possible value.
Definition: JRange.hh:559
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:40
template<class T, class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::getLowerLimit ( ) const
inlineinherited

Get lower limit.

Returns
lower limit

Definition at line 215 of file JRange.hh.

216  {
217  return this->first;
218  }
template<class T, class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::getUpperLimit ( ) const
inlineinherited

Get upper limit.

Returns
upper limit

Definition at line 226 of file JRange.hh.

227  {
228  return this->second;
229  }
template<class T, class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setLowerLimit ( argument_type  x)
inlineinherited

Set lower limit.

Parameters
xlower limit

Definition at line 237 of file JRange.hh.

238  {
239  this->first = x;
240  }
template<class T, class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setUpperLimit ( argument_type  y)
inlineinherited

Set upper limit.

Parameters
yupper limit

Definition at line 248 of file JRange.hh.

249  {
250  this->second = y;
251  }
template<class T, class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::fixLowerLimit ( argument_type  x)
inlineinherited

Fix lower limit.

The range is shifted to the given lower limit.

Parameters
xlower limit

Definition at line 261 of file JRange.hh.

262  {
263  this->second += x - this->first;
264  this->first = x;
265  }
template<class T, class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::fixUpperLimit ( argument_type  y)
inlineinherited

Fix upper limit.

The range is shifted to the given upper limit.

Parameters
yupper limit

Definition at line 275 of file JRange.hh.

276  {
277  this->first += y - this->second;
278  this->second = y;
279  }
template<class T, class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::equals ( const range_type range) const
inlineinherited

Equal method.

Parameters
rangerange
Returns
true if this module range equal to given module range; else false

Definition at line 288 of file JRange.hh.

289  {
290  return (!this->compare(this->getLowerLimit(), range.getLowerLimit()) &&
291  !this->compare(range.getLowerLimit(), this->getLowerLimit()) &&
292  !this->compare(this->getUpperLimit(), range.getUpperLimit()) &&
293  !this->compare(range.getUpperLimit(), this->getUpperLimit()));
294  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
template<class T, class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::getLength ( ) const
inlineinherited

Get length (difference between upper and lower limit).

Returns
length

Definition at line 302 of file JRange.hh.

303  {
304  return getUpperLimit() - getLowerLimit();
305  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
template<class T, class JComparator_t = std::less<T>>
void JTOOLS::JRange< T, JComparator_t >::setLength ( argument_type  length)
inlineinherited

Set length (difference between upper and lower limit).

Parameters
lengthlength

Definition at line 313 of file JRange.hh.

314  {
315  setUpperLimit(getLowerLimit() + length);
316  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:248
template<class T, class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::is_valid ( ) const
inlineinherited

Check validity of range.

Returns
true if lower limit less than or equal to upper limit; else false

Definition at line 324 of file JRange.hh.

325  {
326  return !compare(getUpperLimit(), getLowerLimit());
327  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
template<class T, class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::operator() ( argument_type  x) const
inlineinherited

Test whether value is inside range.

Parameters
xvalue
Returns
true if lower limit <= value <= upper limit; else false

Definition at line 336 of file JRange.hh.

337  {
338  return (!compare(x, getLowerLimit()) &&
339  !compare(getUpperLimit(), x));
340  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
template<class T, class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::constrain ( argument_type  x) const
inlineinherited

Constrain value to range.


This method returns the original value if it is in this range, else lower limit if value < lower limit or upper limit if value > upper limit.

Parameters
xvalue
Returns
lower limit <= x <= upper limit

Definition at line 351 of file JRange.hh.

352  {
353  if (compare(x, getLowerLimit())) { return getLowerLimit(); }
354  if (compare(getUpperLimit(), x)) { return getUpperLimit(); }
355 
356  return x;
357  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
template<class T, class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::mod ( argument_type  x) const
inlineinherited

Modulo value with respect to range.


Parameters
xvalue
Returns
lower limit <= x <= upper limit

Definition at line 366 of file JRange.hh.

367  {
368  if (compare(x, getLowerLimit()))
369  return x + getLength() * floor((getUpperLimit() - x) / getLength());
370  else if (compare(getUpperLimit(), x))
371  return x - getLength() * floor((x - getLowerLimit()) / getLength());
372  else
373  return x;
374  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
T getLength() const
Get length (difference between upper and lower limit).
Definition: JRange.hh:302
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
template<class T, class JComparator_t = std::less<T>>
bool JTOOLS::JRange< T, JComparator_t >::overlap ( const range_type range) const
inlineinherited

Test overlap with given range.


The result is equivalent to join(range).is_valid().

Parameters
rangerange
Returns
true if there is a non-zero overlap; else false

Definition at line 384 of file JRange.hh.

385  {
386  return (compare(getLowerLimit(), range.getUpperLimit()) &&
387  compare(range.getLowerLimit(), getUpperLimit()));
388  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
template<class T, class JComparator_t = std::less<T>>
range_type JTOOLS::JRange< T, JComparator_t >::include ( argument_type  x)
inlineinherited

Include given value to range.


The new lower limit is the minimim of the original lower limit and given value and
the new upper limit is the maximum of the original upper limit and given value;

Parameters
xvalue
Returns
range

Definition at line 399 of file JRange.hh.

400  {
401  if (compare(x, getLowerLimit())) { setLowerLimit(x); }
402  if (compare(getUpperLimit(), x)) { setUpperLimit(x); }
403 
404  return *this;
405  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:248
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
void setLowerLimit(argument_type x)
Set lower limit.
Definition: JRange.hh:237
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::join ( const range_type range)
inlineinherited

Join ranges.


The new lower limit is the maximim of the two lower limits and
the new upper limit is the minimum of the two upper limits.
This operation results in an equal or smaller range and may result in an unphysical range (i.e. lower limit > upper limit).

Parameters
rangerange

Definition at line 417 of file JRange.hh.

418  {
419  if (compare(getLowerLimit(), range.getLowerLimit())) { setLowerLimit(range.getLowerLimit()); }
420  if (compare(range.getUpperLimit(), getUpperLimit())) { setUpperLimit(range.getUpperLimit()); }
421 
422  return *this;
423  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:248
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
void setLowerLimit(argument_type x)
Set lower limit.
Definition: JRange.hh:237
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::combine ( const range_type range)
inlineinherited

Combine ranges.


The new lower limit is the minimim of the two lower limits and
the new upper limit is the maximum of the two upper limits.
This operation results in an equal or larger range.

Parameters
rangerange

Definition at line 434 of file JRange.hh.

435  {
436  if (compare(range.getLowerLimit(), getLowerLimit())) { setLowerLimit(range.getLowerLimit()); }
437  if (compare(getUpperLimit(), range.getUpperLimit())) { setUpperLimit(range.getUpperLimit()); }
438 
439  return *this;
440  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
JComparator_t compare
Function object.
Definition: JRange.hh:579
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:248
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
void setLowerLimit(argument_type x)
Set lower limit.
Definition: JRange.hh:237
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::add ( argument_type  x)
inlineinherited

Add offset.

Parameters
xoffset

Definition at line 448 of file JRange.hh.

449  {
450  this->first += x;
451  this->second += x;
452 
453  return *this;
454  }
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::add ( const range_type range)
inlineinherited

Add offsets.


The new lower limit is the sum of the two lower limits and
the new upper limit is the sum of the two upper limits.

Parameters
rangeoffset

Definition at line 478 of file JRange.hh.

479  {
480  this->first += range.getLowerLimit();
481  this->second += range.getUpperLimit();
482 
483  return *this;
484  }
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::sub ( argument_type  x)
inlineinherited

Subtract offset.

Parameters
xoffset

Definition at line 462 of file JRange.hh.

463  {
464  this->first -= x;
465  this->second -= x;
466 
467  return *this;
468  }
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::sub ( const range_type range)
inlineinherited

Subtract offsets.


The new lower limit is the difference of the two lower limits and
the new upper limit is the difference of the two upper limits.

Parameters
rangeoffset

Definition at line 494 of file JRange.hh.

495  {
496  this->first -= range.getLowerLimit();
497  this->second -= range.getUpperLimit();
498 
499  return *this;
500  }
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::mul ( const double  factor)
inlineinherited

Multiply range.

Parameters
factorfactor

Definition at line 508 of file JRange.hh.

509  {
510  this->first *= factor;
511  this->second *= factor;
512 
513  return *this;
514  }
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 273 of file JMath.hh.

274  {
275  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
276  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18
template<class T, class JComparator_t = std::less<T>>
range_type& JTOOLS::JRange< T, JComparator_t >::div ( const double  factor)
inlineinherited

Divide range.

Parameters
factorfactor

Definition at line 522 of file JRange.hh.

523  {
524  this->first /= factor;
525  this->second /= factor;
526 
527  return *this;
528  }
template<class T, class JComparator_t = std::less<T>>
T JTOOLS::JRange< T, JComparator_t >::getN ( const double  R) const
inlineinherited

Get expected number of occurances of given rate within this interval.

Parameters
Rrate
Returns
expectation value

Definition at line 537 of file JRange.hh.

538  {
539  return R * (getUpperLimit() - getLowerLimit());
540  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:215
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:226
then usage $script[distance] fi case set_variable R
Definition: JDrawLED.sh:40
template<class T, class JComparator_t = std::less<T>>
static T JTOOLS::JRange< T, JComparator_t >::getMinimum ( )
inlinestaticinherited

Get minimum possible value.

Returns
minimum possible value

Definition at line 548 of file JRange.hh.

549  {
550  return JMATH::JLimits<T>::min();
551  }
float min()
Definition: JLimits.hh:96
template<class T, class JComparator_t = std::less<T>>
static T JTOOLS::JRange< T, JComparator_t >::getMaximum ( )
inlinestaticinherited

Get maximum possible value.

Returns
maximum possible value

Definition at line 559 of file JRange.hh.

560  {
561  return JMATH::JLimits<T>::max();
562  }
const key_type& JTOOLS::JPair< T , T >::getKey ( ) const
inlineinherited

Definition at line 123 of file JPair.hh.

123 { return this->first; }
const mapped_type& JTOOLS::JPair< T , T >::getValue ( ) const
inlineinherited

Definition at line 124 of file JPair.hh.

124 { return this->second; }
mapped_type& JTOOLS::JPair< T , T >::getValue ( )
inlineinherited

Definition at line 126 of file JPair.hh.

126 { return this->second; }
const std::string& JUTM::JUTMGrid::getKey ( ) const
inlineinherited

Get key.

Returns
key

Definition at line 68 of file JUTMGrid.hh.

69  {
70  return key;
71  }
std::string key
Definition: JUTMGrid.hh:183
const std::string& JUTM::JUTMGrid::getWGS ( ) const
inlineinherited

Get WGS.

Returns
WGS

Definition at line 79 of file JUTMGrid.hh.

80  {
81  return wgs;
82  }
std::string wgs
Definition: JUTMGrid.hh:184
const std::string& JUTM::JUTMGrid::getUTMZone ( ) const
inlineinherited

Get UTM zone.

Returns
UTM zone

Definition at line 90 of file JUTMGrid.hh.

91  {
92  return zone;
93  }
std::string zone
Definition: JUTMGrid.hh:185
std::string JUTM::JUTMGrid::toString ( ) const
inlineinherited

Convert UTM grid.

Returns
UTM grid

Definition at line 101 of file JUTMGrid.hh.

102  {
103  return (key + " " + wgs + " " + zone);
104  }
std::string key
Definition: JUTMGrid.hh:183
std::string zone
Definition: JUTMGrid.hh:185
std::string wgs
Definition: JUTMGrid.hh:184
static JUTMGrid JUTM::JUTMGrid::valueOf ( const std::string &  buffer)
inlinestaticinherited

Extract UTM grid.

Parameters
bufferWGS and UTM zone
Returns
UTM grid

Definition at line 113 of file JUTMGrid.hh.

114  {
115  JUTMGrid grid;
116 
117  std::istringstream is(buffer);
118 
119  if (is >> grid)
120  return grid;
121  else
122  throw JParseError("JUTMGrid::valueOf()");
123  }
is
Definition: JDAQCHSM.chsm:167
Data structure for UTM grid.
Definition: JUTMGrid.hh:34
const JUTMPosition& JUTM::JUTMPosition::getUTMPosition ( ) const
inlineinherited

Get UTM position.

Returns
position

Definition at line 82 of file JUTMPosition.hh.

83  {
84  return static_cast<const JUTMPosition&>(*this);
85  }
Data structure for UTM position.
Definition: JUTMPosition.hh:34
JPosition3D JUTM::JUTMPosition::getPosition ( ) const
inlineinherited

Get position.

Returns
position

Definition at line 93 of file JUTMPosition.hh.

94  {
95  return JPosition3D(east, north, z);
96  }
JUTM::JUTMPosition::operator JPosition3D ( ) const
inlineinherited

Type conversion operator.

Returns
position

Definition at line 104 of file JUTMPosition.hh.

105  {
106  return getPosition();
107  }
JPosition3D getPosition() const
Get position.
Definition: JUTMPosition.hh:93
double JUTM::JUTMPosition::getUTMEast ( ) const
inlineinherited

Get UTM east.

Returns
UTM East

Definition at line 115 of file JUTMPosition.hh.

116  {
117  return this->east;
118  }
double JUTM::JUTMPosition::getUTMNorth ( ) const
inlineinherited

Get UTM north.

Returns
UTM North

Definition at line 126 of file JUTMPosition.hh.

127  {
128  return this->north;
129  }
double JUTM::JUTMPosition::getUTMZ ( ) const
inlineinherited

Get UTM Z.

Returns
UTM Z

Definition at line 137 of file JUTMPosition.hh.

138  {
139  return this->z;
140  }
JUTMPosition& JUTM::JUTMPosition::negate ( )
inlineinherited

Negate UTM position.

Returns
this UTM position

Definition at line 148 of file JUTMPosition.hh.

149  {
150  east = -east;
151  north = -north;
152  z = -z;
153 
154  return *this;
155  }
JUTMPosition& JUTM::JUTMPosition::add ( const JUTMPosition pos)
inlineinherited

Add UTM position.

Parameters
posUTM position
Returns
this UTM position

Definition at line 164 of file JUTMPosition.hh.

165  {
166  east += pos.getUTMEast();
167  north += pos.getUTMNorth();
168  z += pos.getUTMZ();
169 
170  return *this;
171  }
double getUTMEast() const
Get UTM east.
double getUTMZ() const
Get UTM Z.
double getUTMNorth() const
Get UTM north.
JUTMPosition& JUTM::JUTMPosition::sub ( const JUTMPosition pos)
inlineinherited

Subtract UTM position.

Parameters
posUTM position
Returns
this UTM position

Definition at line 180 of file JUTMPosition.hh.

181  {
182  east -= pos.getUTMEast();
183  north -= pos.getUTMNorth();
184  z -= pos.getUTMZ();
185 
186  return *this;
187  }
double getUTMEast() const
Get UTM east.
double getUTMZ() const
Get UTM Z.
double getUTMNorth() const
Get UTM north.
JUTMPosition& JUTM::JUTMPosition::mul ( const double  factor)
inlineinherited

Scale UTM position.

Parameters
factormultiplication factor
Returns
this UTM position

Definition at line 196 of file JUTMPosition.hh.

197  {
198  east *= factor;
199  north *= factor;
200  z *= factor;
201 
202  return *this;
203  }
JUTMPosition & JMATH::JMath< JUTMPosition , JNullType >::mul ( const JNullType object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 273 of file JMath.hh.

274  {
275  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
276  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18
JUTMPosition& JUTM::JUTMPosition::div ( const double  factor)
inlineinherited

Scale UTM position.

Parameters
factordivision factor
Returns
this UTM position

Definition at line 212 of file JUTMPosition.hh.

213  {
214  east /= factor;
215  north /= factor;
216  z /= factor;
217 
218  return *this;
219  }

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JDetectorHeader header 
)
friend

Read detector header from input.

Parameters
ininput stream
headerheader
Returns
input stream

Definition at line 74 of file JDetectorHeader.hh.

75  {
76  in >> static_cast<JUTCTimeRange&>(header);
77  in >> static_cast<JUTMGrid&> (header);
78  in >> static_cast<JUTMPosition&> (header);
79 
80  return in;
81  }
JUTMPosition()
Default constructor.
Definition: JUTMPosition.hh:41
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
JUTCTimeRange()
Default constructor.
JUTMGrid()
Default constructor.
Definition: JUTMGrid.hh:39
std::ostream& operator<< ( std::ostream &  out,
const JDetectorHeader header 
)
friend

Write detector header to output.

Parameters
outoutput stream
headerheader
Returns
output stream

Definition at line 91 of file JDetectorHeader.hh.

92  {
93  using namespace std;
94 
95  out << static_cast<const JUTCTimeRange&>(header);
96  out << endl;
97  out << static_cast<const JUTMGrid&> (header);
98  out << ' ';
99  out << static_cast<const JUTMPosition&> (header);
100 
101  return out;
102  }
JReader& operator>> ( JReader in,
JDetectorHeader header 
)
friend

Read detector header from input.

Parameters
ininput stream
headerheader
Returns
input stream

Definition at line 112 of file JDetectorHeader.hh.

113  {
114  in >> static_cast<JUTCTimeRange&>(header);
115  in >> static_cast<JUTMGrid&> (header);
116  in >> static_cast<JUTMPosition&> (header);
117 
118  return in;
119  }
JUTMPosition()
Default constructor.
Definition: JUTMPosition.hh:41
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
JUTCTimeRange()
Default constructor.
JUTMGrid()
Default constructor.
Definition: JUTMGrid.hh:39
JWriter& operator<< ( JWriter out,
const JDetectorHeader header 
)
friend

Write detector header to output.

Parameters
outoutput stream
headerheader
Returns
output stream

Definition at line 129 of file JDetectorHeader.hh.

130  {
131  out << static_cast<const JUTCTimeRange&>(header);
132  out << static_cast<const JUTMGrid&> (header);
133  out << static_cast<const JUTMPosition&> (header);
134 
135  return out;
136  }

Member Data Documentation

template<class T, class JComparator_t = std::less<T>>
const JRange< T, JComparator_t > JTOOLS::JRange< T, JComparator_t >::DEFAULT_RANGE
staticinherited

Default range.

This range corresponds to an unphysical range.

Definition at line 569 of file JRange.hh.

template<class T, class JComparator_t = std::less<T>>
JComparator_t JTOOLS::JRange< T, JComparator_t >::compare
inherited

Function object.

Parameters
firstfirst argument
secondsecond argument
Returns
true if first < second; else false

Definition at line 579 of file JRange.hh.

T JTOOLS::JPair< T , T >::first
inherited

Definition at line 128 of file JPair.hh.

T JTOOLS::JPair< T , T >::second
inherited

Definition at line 129 of file JPair.hh.

std::string JUTM::JUTMGrid::key
protectedinherited

Definition at line 183 of file JUTMGrid.hh.

std::string JUTM::JUTMGrid::wgs
protectedinherited

Definition at line 184 of file JUTMGrid.hh.

std::string JUTM::JUTMGrid::zone
protectedinherited

Definition at line 185 of file JUTMGrid.hh.

double JUTM::JUTMPosition::east
protectedinherited

Definition at line 276 of file JUTMPosition.hh.

double JUTM::JUTMPosition::north
protectedinherited

Definition at line 277 of file JUTMPosition.hh.

double JUTM::JUTMPosition::z
protectedinherited

Definition at line 278 of file JUTMPosition.hh.


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