Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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::JDetector Class Reference

Detector data structure. More...

#include <JDetector.hh>

Inheritance diagram for JDETECTOR::JDetector:
JLANG::JObjectID JDETECTOR::JDetectorVersion JDETECTOR::JDetectorHeader std::vector< JModule > JLANG::JMultiEquals< JClass_t, JType_t > JIO::JSerialisable JLANG::JComparable< JObjectID > JLANG::JComparable< JObjectID, int > JDETECTOR::JVersion JUTC::JUTCTimeRange JUTM::JUTMGrid JUTM::JUTMPosition JLANG::JEquals< JFirst_t, JSecond_t > JLANG::JEquals< JFirst_t, JSecond_t > JTOOLS::JRange< T, JComparator_t > JLANG::JEquals< JFirst_t, JSecond_t > JMATH::JMath< JFirst_t, JSecond_t > JTOOLS::JPair< T, T > JLANG::JEquals< JFirst_t, JSecond_t > JMATH::JMath< JFirst_t, JSecond_t > JDETECTOR::JMonteCarloDetector

Public Types

enum  JVersion_t { V1 = 1, V2 = 2, V3 = 3, V4 = 4 }
 Enumeration of version types. More...
 
typedef std::pair< T, Tpair_type
 
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

 JDetector ()
 Default constructor. More...
 
 JDetector (const JObjectID &id, const JVersion &version, const JDetectorHeader &header)
 Constructor. More...
 
void setVersion (const JVersion &version)
 Set version. More...
 
bool setVersion (const JDetectorVersion::JVersion_t &version, const bool force=false)
 Set version. More...
 
bool setToLatestVersion ()
 Set to latest version. More...
 
JDetectoroperator+= (const JVector3D &pos)
 Move detector elements. More...
 
JDetectoroperator-= (const JVector3D &pos)
 Move detector elements. More...
 
const JModulegetModule (const JModuleAddress &address) const
 Get module parameters. More...
 
JModulegetModule (const JModuleAddress &address)
 Get module parameters. More...
 
const JModulegetModule (const JLocation &location) const
 Get module parameters. More...
 
JModulegetModule (const JLocation &location)
 Get module parameters. More...
 
const JPMTgetPMT (const JPMTAddress &address) const
 Get PMT parameters. More...
 
JPMTgetPMT (const JPMTAddress &address)
 Get PMT parameters. More...
 
virtual JReaderread (JReader &in) override
 Read from input. More...
 
virtual JWriterwrite (JWriter &out) const override
 Write to output. More...
 
int getID () const
 Get identifier. More...
 
int & getID ()
 Get identifier. More...
 
void setID (const int id)
 Set identifier. More...
 
bool less (const JObjectID &object) const
 Less than method. More...
 
bool less (const int id) const
 Less than method. More...
 
bool more (const int id) const
 More than method. More...
 
const JVersiongetVersion () const
 Get version. More...
 
JVersiongetVersion ()
 Get version. More...
 
const std::string & getVariant () const
 Get variant. More...
 
void setVariant (const std::string &variant)
 Set variant. More...
 
bool equals (const JVersion &version) const
 Equal method. More...
 
bool equals (const JDetectorHeader &header, const double precision=std::numeric_limits< double >::min()) const
 Check equality. More...
 
bool equals (const range_type &range) const
 Equal method. More...
 
bool equals (const JUTMGrid &grid) const
 Check equality. 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...
 
 operator pair_type () const
 Type conversion operator. 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 JElement_t , class JAllocator_t >
void setRange (const array_type< JElement_t, JAllocator_t > &buffer)
 Set lower and upper limit according to input data. 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...
 
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...
 
JUTMPositionadd (const JUTMPosition &pos)
 Add UTM position. More...
 
range_typesub (argument_type x)
 Subtract offset. More...
 
range_typesub (const range_type &range)
 Subtract offsets. More...
 
JUTMPositionsub (const JUTMPosition &pos)
 Subtract UTM position. More...
 
range_typemul (const double factor)
 Multiply range. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 
JUTMPositionmul (const double factor)
 Scale UTM position. More...
 
JFirst_t & mul (const JSecond_t &object)
 Multiply with object. More...
 
range_typediv (const double factor)
 Divide range. More...
 
JUTMPositiondiv (const double factor)
 Scale UTM position. More...
 
T getN (const double R) const
 Get expected number of occurances of given rate within this interval. More...
 
const key_typegetKey () const
 
const std::string & getKey () const
 Get key. More...
 
const mapped_typegetValue () const
 
mapped_typegetValue ()
 
const JUTMGridgetUTMGrid () const
 Get UTM grid. More...
 
void setUTMGrid (const JUTMGrid &grid)
 Set UTM grid. 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...
 
void setUTMPosition (const JUTMPosition &position)
 Set 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...
 
double getDisplacement (const JUTMPosition &position) const
 Get displacement to 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

JComment comment
 
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

void setVersion () const
 Set version. More...
 
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

int __id
 
std::string __variant
 
std::string key
 
std::string wgs
 
std::string zone
 
double east
 
double north
 
double z
 

Friends

std::istream & operator>> (std::istream &in, JDetector &detector)
 Read detector from input. More...
 
std::ostream & operator<< (std::ostream &out, const JDetector &detector)
 Write detector to output. More...
 

Detailed Description

Detector data structure.

A detector consists of a header and a list of modules, each of which consists of a list of PMTs. Each PMT comprises position, orientation and time calibration data. Note that the index of the PMT in the module data structure corresponds to the readout channel (TDC).

The following formats and file name extension are supported:

extension format function
".detx" ASCII I/O
".gz" gzipped ASCII I/O
".dat" binary I/O
".det" ASCII I

The different formats can transparently be read and written using the methods:

   inline void load(const JString& file_name, JDetector& detector);
   inline void store(const JString& file_name, const JDetector& detector);

respectively. These methods are available in the include file JDetectorToolkit.hh.

The JDETECTOR::JModuleRouter and JDETECTOR::JPMTRouter classes provide for fast look-up methods of module and PMT calibration data for real data and Monte Carlo data, respectively.
Note that the (not) equal operator strictly applies to the detector identifier and version. For quantitative comparisons, use JCompareDetector.cc.
The official detector description document is accessible for anyone with a KM3NeT account at the google drive.

Definition at line 80 of file JDetector.hh.

Member Typedef Documentation

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

Definition at line 45 of file JRange.hh.

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 46 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 47 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.

Member Enumeration Documentation

Enumeration of version types.


Additional version types should be included in JGetDetectorVersion::JGetDetectorVersion.

Enumerator
V1 

First version.

V2 

Version with UTC time and UTM position data.

V3 

Version with PMT status field and comments.

V4 

Version with quaternion and time offset per module.

Definition at line 41 of file JDetectorVersion.hh.

41  {
42  V1 = 1, //!< First version
43  V2 = 2, //!< Version with UTC time and UTM position data
44  V3 = 3, //!< Version with PMT status field and comments
45  V4 = 4 //!< Version with quaternion and time offset per module
46  };
Version with UTC time and UTM position data.
Version with PMT status field and comments.
Version with quaternion and time offset per module.

Constructor & Destructor Documentation

JDETECTOR::JDetector::JDetector ( )
inline

Default constructor.

Definition at line 92 of file JDetector.hh.

92  :
93  JObjectID(),
95  JDetectorHeader (),
97  JSerialisable()
98  {}
JDetectorVersion()
Default constructor.
JDetectorHeader()
Default constructor.
JObjectID()
Default constructor.
Definition: JObjectID.hh:30
JDETECTOR::JDetector::JDetector ( const JObjectID id,
const JVersion version,
const JDetectorHeader header 
)
inline

Constructor.

Parameters
iddetector identifier
versionversion
headerheader

Definition at line 108 of file JDetector.hh.

110  :
111  JObjectID(id),
112  JDetectorVersion(version),
113  JDetectorHeader (header),
115  JSerialisable()
116  {
117  setVersion();
118  }
JDetectorVersion()
Default constructor.
JDetectorHeader()
Default constructor.
JObjectID()
Default constructor.
Definition: JObjectID.hh:30
void setVersion() const
Set version.
Definition: JDetector.hh:470

Member Function Documentation

void JDETECTOR::JDetector::setVersion ( const JVersion version)
inline

Set version.

Parameters
versionversion

Definition at line 126 of file JDetector.hh.

127  {
128  static_cast<JDetectorVersion&>(*this).setVersion(version);
129 
130  setVersion();
131  }
void setVersion(const JVersion &version)
Set version.
Definition: JVersion.hh:78
void setVersion() const
Set version.
Definition: JDetector.hh:470
bool JDETECTOR::JDetector::setVersion ( const JDetectorVersion::JVersion_t version,
const bool  force = false 
)
inline

Set version.

Note that the version is only set to a higher version or when forced to set it.

Parameters
versionversion
forceforce setting of version
Returns
true if set; else false

Definition at line 143 of file JDetector.hh.

144  {
145  if (this->getVersion() == JDetectorVersion() || version > getDetectorVersion(this->getVersion()) || force) {
146 
148 
149  return true;
150  }
151 
152  return false;
153  }
JDetectorVersion()
Default constructor.
static const JGetDetectorVersion getDetectorVersion
Function object to map detector variant to detector version.
static const JPutDetectorVersion putDetectorVersion(getDetectorVersion)
Function object to map detector version to detector variant.
void setVersion() const
Set version.
Definition: JDetector.hh:470
version
Definition: JCalibratePMT.sh:7
const JVersion & getVersion() const
Get version.
Definition: JVersion.hh:56
bool JDETECTOR::JDetector::setToLatestVersion ( )
inline

Set to latest version.

Returns
true if set; else false

Definition at line 161 of file JDetector.hh.

162  {
163  return setVersion(getLatestDetectorVersion<JDetectorVersion::JVersion_t>());
164  }
void setVersion() const
Set version.
Definition: JDetector.hh:470
JDetector& JDETECTOR::JDetector::operator+= ( const JVector3D pos)
inline

Move detector elements.

Parameters
posoffset position
Returns
this JDetector

Definition at line 173 of file JDetector.hh.

174  {
175  for (iterator i = begin(); i != end(); ++i) {
176  i->add(pos);
177  }
178 
179  return *this;
180  }
JDetector& JDETECTOR::JDetector::operator-= ( const JVector3D pos)
inline

Move detector elements.

Parameters
posoffset position
Returns
this JDetector

Definition at line 189 of file JDetector.hh.

190  {
191  for (iterator i = begin(); i != end(); ++i) {
192  i->sub(pos);
193  }
194 
195  return *this;
196  }
const JModule& JDETECTOR::JDetector::getModule ( const JModuleAddress address) const
inline

Get module parameters.

Parameters
addressmodule address
Returns
module parameters

Definition at line 205 of file JDetector.hh.

206  {
207  return at(address.first);
208  }
int first
index of module in detector data structure
JModule& JDETECTOR::JDetector::getModule ( const JModuleAddress address)
inline

Get module parameters.

Parameters
addressmodule address
Returns
module parameters

Definition at line 217 of file JDetector.hh.

218  {
219  return at(address.first);
220  }
int first
index of module in detector data structure
const JModule& JDETECTOR::JDetector::getModule ( const JLocation location) const
inline

Get module parameters.

Parameters
locationmodule location
Returns
module parameters

Definition at line 229 of file JDetector.hh.

230  {
231  for (JDetector::const_iterator module = this->begin(); module != this->end(); ++module) {
232  if (*module == location) {
233  return *module;
234  }
235  }
236 
237  THROW(JIndexOutOfRange, "JDetector::getModule()");
238  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
JModule& JDETECTOR::JDetector::getModule ( const JLocation location)
inline

Get module parameters.

Parameters
locationmodule location
Returns
module parameters

Definition at line 247 of file JDetector.hh.

248  {
249  for (JDetector::iterator module = this->begin(); module != this->end(); ++module) {
250  if (*module == location) {
251  return *module;
252  }
253  }
254 
255  THROW(JIndexOutOfRange, "JDetector::getModule()");
256  }
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
Definition: JException.hh:670
const JPMT& JDETECTOR::JDetector::getPMT ( const JPMTAddress address) const
inline

Get PMT parameters.

Parameters
addressJPMTAddress
Returns
JPMT

Definition at line 265 of file JDetector.hh.

266  {
267  return at(address.first).at(address.second);
268  }
int second
index of PMT in module data structure.
Definition: JPMTAddress.hh:100
int first
index of module in detector data structure
JPMT& JDETECTOR::JDetector::getPMT ( const JPMTAddress address)
inline

Get PMT parameters.

Parameters
addressJPMTAddress
Returns
JPMT

Definition at line 277 of file JDetector.hh.

278  {
279  return at(address.first).at(address.second);
280  }
int second
index of PMT in module data structure.
Definition: JPMTAddress.hh:100
int first
index of module in detector data structure
virtual JReader& JDETECTOR::JDetector::read ( JReader in)
inlineoverridevirtual

Read from input.

Parameters
inreader
Returns
reader

Implements JIO::JSerialisable.

Definition at line 385 of file JDetector.hh.

386  {
387  using namespace std;
388  using namespace JPP;
389 
390  clear();
391 
392  char c;
393  int n;
394 
395  for (string buffer; in >> c && c == JComment::START_COMMENT; ) {
396 
397  in >> buffer;
398 
399  this->comment.add(buffer);
400  }
401 
402  const int N = sizeof(JObjectID);
403 
404  char buffer[N];
405 
406  buffer[0] = c;
407 
408  in.read(&buffer[1], N - 1);
409 
410  JByteArrayReader is(buffer, N);
411 
412  is >> static_cast<JObjectID&> (*this);
413  in >> static_cast<JDetectorVersion&>(*this);
414  in >> static_cast<JDetectorHeader&> (*this);
415  in >> n;
416 
417  setVersion();
418 
419  for (JModule module; n != 0; --n) {
420 
421  in >> module;
422 
423  push_back(module);
424  }
425 
426  return in;
427  }
static const char START_COMMENT
start comment
Definition: JComment.hh:48
Data structure for a composite optical module.
Definition: JModule.hh:57
is
Definition: JDAQCHSM.chsm:167
JObjectID()
Default constructor.
Definition: JObjectID.hh:30
Data structure for detector header.
void setVersion() const
Set version.
Definition: JDetector.hh:470
alias put_queue eval echo n
Definition: qlib.csh:19
JComment & add(const std::string &comment)
Add comment.
Definition: JComment.hh:100
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 source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
then usage $script[input file[working directory[option]]] nWhere option can be N
Definition: JMuonPostfit.sh:37
virtual JWriter& JDETECTOR::JDetector::write ( JWriter out) const
inlineoverridevirtual

Write to output.

Parameters
outwriter
Returns
writer

Implements JIO::JSerialisable.

Definition at line 436 of file JDetector.hh.

437  {
438  using namespace std;
439  using namespace JPP;
440 
441  int n = size();
442  char c = JComment::START_COMMENT;
443 
444  for (JComment::const_iterator i = this->comment.begin(); i != this->comment.end(); ++i) {
445  out << c;
446  out << *i;
447  }
448 
449  out << static_cast<const JObjectID&> (*this);
450  out << static_cast<const JDetectorVersion&>(*this);
451  out << static_cast<const JDetectorHeader&> (*this);
452  out << n;
453 
454  for (const_iterator i = begin(); i != end(); ++i) {
455  out << *i;
456  }
457 
458  return out;
459  }
static const char START_COMMENT
start comment
Definition: JComment.hh:48
alias put_queue eval echo n
Definition: qlib.csh:19
void JDETECTOR::JDetector::setVersion ( ) const
inlineprotected

Set version.

This method should be called to set up the handling of detector version specific module and PMT I/O.

Definition at line 470 of file JDetector.hh.

471  {
473  JPMT ::setVersion(this->getVersion());
474  }
static void setVersion(const JVersion &version)
Set detector version.
Definition: JModule.hh:169
static void setVersion(const JVersion &version)
Set detector version.
Definition: JPMT.hh:118
const JVersion & getVersion() const
Get version.
Definition: JVersion.hh:56
int JLANG::JObjectID::getID ( ) const
inlineinherited

Get identifier.

Returns
identifier

Definition at line 50 of file JObjectID.hh.

51  {
52  return __id;
53  }
int& JLANG::JObjectID::getID ( )
inlineinherited

Get identifier.

Returns
identifier

Definition at line 61 of file JObjectID.hh.

62  {
63  return __id;
64  }
void JLANG::JObjectID::setID ( const int  id)
inlineinherited

Set identifier.

Parameters
ididentifier

Definition at line 72 of file JObjectID.hh.

73  {
74  this->__id = id;
75  }
bool JLANG::JObjectID::less ( const JObjectID object) const
inlineinherited

Less than method.

Parameters
objectobject identifier
Returns
true if this identifier less than given identifier; else false

Definition at line 84 of file JObjectID.hh.

85  {
86  return this->getID() < object.getID();
87  }
int getID() const
Get identifier.
Definition: JObjectID.hh:50
bool JLANG::JObjectID::less ( const int  id) const
inlineinherited

Less than method.

Parameters
ididentifier
Returns
true if this identifier less than given identifier; else false

Definition at line 96 of file JObjectID.hh.

97  {
98  return this->getID() < id;
99  }
int getID() const
Get identifier.
Definition: JObjectID.hh:50
bool JLANG::JObjectID::more ( const int  id) const
inlineinherited

More than method.

Parameters
ididentifier
Returns
true if this identifier greater than given identifier; else false

Definition at line 108 of file JObjectID.hh.

109  {
110  return this->getID() > id;
111  }
int getID() const
Get identifier.
Definition: JObjectID.hh:50
const JVersion& JDETECTOR::JVersion::getVersion ( ) const
inlineinherited

Get version.

Returns
version

Definition at line 56 of file JVersion.hh.

57  {
58  return static_cast<const JVersion&>(*this);
59  }
Auxiliary class for version identifier.
Definition: JVersion.hh:30
JVersion& JDETECTOR::JVersion::getVersion ( )
inlineinherited

Get version.

Returns
version

Definition at line 67 of file JVersion.hh.

68  {
69  return static_cast<JVersion&>(*this);
70  }
Auxiliary class for version identifier.
Definition: JVersion.hh:30
const std::string& JDETECTOR::JVersion::getVariant ( ) const
inlineinherited

Get variant.

Returns
variant

Definition at line 89 of file JVersion.hh.

90  {
91  return this->__variant;
92  }
std::string __variant
Definition: JVersion.hh:170
void JDETECTOR::JVersion::setVariant ( const std::string &  variant)
inlineinherited

Set variant.

Parameters
variantvariant

Definition at line 100 of file JVersion.hh.

101  {
102  this->__variant = variant;
103  }
std::string __variant
Definition: JVersion.hh:170
bool JDETECTOR::JVersion::equals ( const JVersion version) const
inlineinherited

Equal method.

Parameters
versionversion
Returns
true if this version equal to given version; else false

Definition at line 112 of file JVersion.hh.

113  {
114  return this->getVariant() == version.getVariant();
115  }
const std::string & getVariant() const
Get variant.
Definition: JVersion.hh:89
bool JDETECTOR::JDetectorHeader::equals ( const JDetectorHeader header,
const double  precision = std::numeric_limits<double>::min() 
) const
inlineinherited

Check equality.

Parameters
headerheader
precisionprecision
Returns
true if headers are equal; else false

Definition at line 78 of file JDetectorHeader.hh.

80  {
81  return (this->getUTMGrid() == header.getUTMGrid() && this->getDisplacement(header.getUTMPosition()) < precision);
82  }
const JUTMPosition & getUTMPosition() const
Get UTM position.
Definition: JUTMPosition.hh:84
double getDisplacement(const JUTMPosition &position) const
Get displacement to position.
const JUTMGrid & getUTMGrid() const
Get UTM grid.
Definition: JUTMGrid.hh:72
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 275 of file JRange.hh.

276  {
277  return (!this->compare(this->getLowerLimit(), range.getLowerLimit()) &&
278  !this->compare(range.getLowerLimit(), this->getLowerLimit()) &&
279  !this->compare(this->getUpperLimit(), range.getUpperLimit()) &&
280  !this->compare(range.getUpperLimit(), this->getUpperLimit()));
281  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Definition: module-Z:fit.sh:84
bool JUTM::JUTMGrid::equals ( const JUTMGrid grid) const
inlineinherited

Check equality.

Parameters
gridUTM grid
Returns
true if grids are equal; else false

Definition at line 128 of file JUTMGrid.hh.

129  {
130  return (this->getKey() == grid.getKey() &&
131  this->getWGS() == grid.getWGS() &&
132  this->getUTMZone() == grid.getUTMZone());
133  }
const std::string & getWGS() const
Get WGS.
Definition: JUTMGrid.hh:105
const std::string & getKey() const
Get key.
Definition: JUTMGrid.hh:94
const std::string & getUTMZone() const
Get UTM zone.
Definition: JUTMGrid.hh:116
static JEquationParameters& JDETECTOR::JDetectorHeader::getEquationParameters ( )
inlinestaticinherited

Get equation parameters.

Returns
equation parameters

Definition at line 162 of file JDetectorHeader.hh.

163  {
164  static JEquationParameters equation;
165 
166  return equation;
167  }
Simple data structure to support I/O of equations (see class JLANG::JEquation).
static void JDETECTOR::JDetectorHeader::setEquationParameters ( const JEquationParameters equation)
inlinestaticinherited

Set equation parameters.

Parameters
equationequation parameters

Definition at line 176 of file JDetectorHeader.hh.

177  {
178  getEquationParameters() = equation;
179  }
static JEquationParameters & getEquationParameters()
Get equation parameters.
JProperties JDETECTOR::JDetectorHeader::getProperties ( const JEquationParameters equation = JDetectorHeader::getEquationParameters())
inlineinherited

Get properties of this class.

Parameters
equationequation parameters

Definition at line 187 of file JDetectorHeader.hh.

188  {
189  return JDetectorHeaderHelper(*this, equation);
190  }
JProperties JDETECTOR::JDetectorHeader::getProperties ( const JEquationParameters equation = JDetectorHeader::getEquationParameters()) const
inlineinherited

Get properties of this class.

Parameters
equationequation parameters

Definition at line 198 of file JDetectorHeader.hh.

199  {
200  return JDetectorHeaderHelper(*this, equation);
201  }
template<class T, class JComparator_t = std::less<T>>
JTOOLS::JRange< T, JComparator_t >::operator pair_type ( ) const
inlineinherited

Type conversion operator.

Returns
piar

Definition at line 124 of file JRange.hh.

125  {
127  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
std::pair< T, T > pair_type
Definition: JRange.hh:45
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
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 135 of file JRange.hh.

136  {
137  return static_cast<const range_type&>(*this);
138  }
JRange< T, JComparator_t > range_type
Definition: JRange.hh:46
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 146 of file JRange.hh.

147  {
148  static_cast<range_type&>(*this) = range;
149  }
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Definition: module-Z:fit.sh:84
JRange< T, JComparator_t > range_type
Definition: JRange.hh:46
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 158 of file JRange.hh.

159  {
160  this->first = x;
161  this->second = y;
162  }
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 173 of file JRange.hh.

174  {
175  using namespace JLANG;
176 
178  }
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:146
template<class T, class JComparator_t = std::less<T>>
template<class JElement_t , class JAllocator_t >
void JTOOLS::JRange< T, JComparator_t >::setRange ( const array_type< JElement_t, JAllocator_t > &  buffer)
inlineinherited

Set lower and upper limit according to input data.

Parameters
bufferinput data

Definition at line 187 of file JRange.hh.

188  {
190 
191  for (typename array_type<JElement_t, JAllocator_t>::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
192  include(*i);
193  }
194  }
range_type include(argument_type x)
Include given value to range.
Definition: JRange.hh:386
static T getMinimum()
Get minimum possible value.
Definition: JRange.hh:535
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:146
static T getMaximum()
Get maximum possible value.
Definition: JRange.hh:546
Auxiliary data structure for return type of make methods.
Definition: JVectorize.hh:25
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 577 of file JRange.hh.

578  {
580  }
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:146
JLANG::JClass< T >::argument_type argument_type
Definition: JRange.hh:47
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 591 of file JRange.hh.

592  {
594 
595  for (R i = first; i != second; ++i) {
596  include(*i);
597  }
598  }
range_type include(argument_type x)
Include given value to range.
Definition: JRange.hh:386
static T getMinimum()
Get minimum possible value.
Definition: JRange.hh:535
void setRange(const range_type &range)
Set range.
Definition: JRange.hh:146
static T getMaximum()
Get maximum possible value.
Definition: JRange.hh:546
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 202 of file JRange.hh.

203  {
204  return this->first;
205  }
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 213 of file JRange.hh.

214  {
215  return this->second;
216  }
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 224 of file JRange.hh.

225  {
226  this->first = x;
227  }
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 235 of file JRange.hh.

236  {
237  this->second = y;
238  }
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 248 of file JRange.hh.

249  {
250  this->second += x - this->first;
251  this->first = x;
252  }
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 262 of file JRange.hh.

263  {
264  this->first += y - this->second;
265  this->second = y;
266  }
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 289 of file JRange.hh.

290  {
291  return getUpperLimit() - getLowerLimit();
292  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
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 300 of file JRange.hh.

301  {
302  setUpperLimit(getLowerLimit() + length);
303  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:235
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 311 of file JRange.hh.

312  {
313  return !compare(getUpperLimit(), getLowerLimit());
314  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
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 323 of file JRange.hh.

324  {
325  return (!compare(x, getLowerLimit()) &&
326  !compare(getUpperLimit(), x));
327  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
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 338 of file JRange.hh.

339  {
340  if (compare(x, getLowerLimit())) { return getLowerLimit(); }
341  if (compare(getUpperLimit(), x)) { return getUpperLimit(); }
342 
343  return x;
344  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
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 353 of file JRange.hh.

354  {
355  if (compare(x, getLowerLimit()))
356  return x + getLength() * floor((getUpperLimit() - x) / getLength());
357  else if (compare(getUpperLimit(), x))
358  return x - getLength() * floor((x - getLowerLimit()) / getLength());
359  else
360  return x;
361  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
T getLength() const
Get length (difference between upper and lower limit).
Definition: JRange.hh:289
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
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 371 of file JRange.hh.

372  {
373  return (compare(getLowerLimit(), range.getUpperLimit()) &&
374  compare(range.getLowerLimit(), getUpperLimit()));
375  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Definition: module-Z:fit.sh:84
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 386 of file JRange.hh.

387  {
388  if (compare(x, getLowerLimit())) { setLowerLimit(x); }
389  if (compare(getUpperLimit(), x)) { setUpperLimit(x); }
390 
391  return *this;
392  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:235
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
void setLowerLimit(argument_type x)
Set lower limit.
Definition: JRange.hh:224
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 404 of file JRange.hh.

405  {
406  if (compare(getLowerLimit(), range.getLowerLimit())) { setLowerLimit(range.getLowerLimit()); }
407  if (compare(range.getUpperLimit(), getUpperLimit())) { setUpperLimit(range.getUpperLimit()); }
408 
409  return *this;
410  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:235
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Definition: module-Z:fit.sh:84
void setLowerLimit(argument_type x)
Set lower limit.
Definition: JRange.hh:224
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 421 of file JRange.hh.

422  {
423  if (compare(range.getLowerLimit(), getLowerLimit())) { setLowerLimit(range.getLowerLimit()); }
424  if (compare(getUpperLimit(), range.getUpperLimit())) { setUpperLimit(range.getUpperLimit()); }
425 
426  return *this;
427  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
JComparator_t compare
Function object.
Definition: JRange.hh:566
void setUpperLimit(argument_type y)
Set upper limit.
Definition: JRange.hh:235
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Definition: module-Z:fit.sh:84
void setLowerLimit(argument_type x)
Set lower limit.
Definition: JRange.hh:224
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 435 of file JRange.hh.

436  {
437  this->first += x;
438  this->second += x;
439 
440  return *this;
441  }
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 465 of file JRange.hh.

466  {
467  this->first += range.getLowerLimit();
468  this->second += range.getUpperLimit();
469 
470  return *this;
471  }
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Definition: module-Z:fit.sh:84
JUTMPosition& JUTM::JUTMPosition::add ( const JUTMPosition pos)
inlineinherited

Add UTM position.

Parameters
posUTM position
Returns
this UTM position

Definition at line 177 of file JUTMPosition.hh.

178  {
179  east += pos.getUTMEast();
180  north += pos.getUTMNorth();
181  z += pos.getUTMZ();
182 
183  return *this;
184  }
double getUTMEast() const
Get UTM east.
double getUTMZ() const
Get UTM Z.
double getUTMNorth() const
Get UTM north.
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 449 of file JRange.hh.

450  {
451  this->first -= x;
452  this->second -= x;
453 
454  return *this;
455  }
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 481 of file JRange.hh.

482  {
483  this->first -= range.getLowerLimit();
484  this->second -= range.getUpperLimit();
485 
486  return *this;
487  }
z range($ZMAX-$ZMIN)< $MINIMAL_DZ." fi fi mv $WORKDIR/fit.root $MODULE_ROOT typeset -Z 4 STRING typeset -Z 2 FLOOR JPlot1D -f $
Definition: module-Z:fit.sh:84
JUTMPosition& JUTM::JUTMPosition::sub ( const JUTMPosition pos)
inlineinherited

Subtract UTM position.

Parameters
posUTM position
Returns
this UTM position

Definition at line 193 of file JUTMPosition.hh.

194  {
195  east -= pos.getUTMEast();
196  north -= pos.getUTMNorth();
197  z -= pos.getUTMZ();
198 
199  return *this;
200  }
double getUTMEast() const
Get UTM east.
double getUTMZ() const
Get UTM Z.
double getUTMNorth() const
Get UTM north.
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 495 of file JRange.hh.

496  {
497  this->first *= factor;
498  this->second *= factor;
499 
500  return *this;
501  }
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 357 of file JMath.hh.

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

Scale UTM position.

Parameters
factormultiplication factor
Returns
this UTM position

Definition at line 209 of file JUTMPosition.hh.

210  {
211  east *= factor;
212  north *= factor;
213  z *= factor;
214 
215  return *this;
216  }
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 357 of file JMath.hh.

358  {
359  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
360  }
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 509 of file JRange.hh.

510  {
511  this->first /= factor;
512  this->second /= factor;
513 
514  return *this;
515  }
JUTMPosition& JUTM::JUTMPosition::div ( const double  factor)
inlineinherited

Scale UTM position.

Parameters
factordivision factor
Returns
this UTM position

Definition at line 225 of file JUTMPosition.hh.

226  {
227  east /= factor;
228  north /= factor;
229  z /= factor;
230 
231  return *this;
232  }
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 524 of file JRange.hh.

525  {
526  return R * (getUpperLimit() - getLowerLimit());
527  }
T getLowerLimit() const
Get lower limit.
Definition: JRange.hh:202
T getUpperLimit() const
Get upper limit.
Definition: JRange.hh:213
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 535 of file JRange.hh.

536  {
537  return JMATH::JLimits<T>::min();
538  }
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 546 of file JRange.hh.

547  {
548  return JMATH::JLimits<T>::max();
549  }
const key_type& JTOOLS::JPair< T , T >::getKey ( ) const
inlineinherited

Definition at line 123 of file JPair.hh.

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

Get key.

Returns
key

Definition at line 94 of file JUTMGrid.hh.

95  {
96  return key;
97  }
std::string key
Definition: JUTMGrid.hh:223
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 JUTMGrid& JUTM::JUTMGrid::getUTMGrid ( ) const
inlineinherited

Get UTM grid.

Returns
UTM grid

Definition at line 72 of file JUTMGrid.hh.

73  {
74  return static_cast<const JUTMGrid&>(*this);
75  }
Data structure for UTM grid.
Definition: JUTMGrid.hh:36
void JUTM::JUTMGrid::setUTMGrid ( const JUTMGrid grid)
inlineinherited

Set UTM grid.

Parameters
gridUTM grid

Definition at line 83 of file JUTMGrid.hh.

84  {
85  static_cast<JUTMGrid&>(*this) = grid;
86  }
Data structure for UTM grid.
Definition: JUTMGrid.hh:36
const std::string& JUTM::JUTMGrid::getWGS ( ) const
inlineinherited

Get WGS.

Returns
WGS

Definition at line 105 of file JUTMGrid.hh.

106  {
107  return wgs;
108  }
std::string wgs
Definition: JUTMGrid.hh:224
const std::string& JUTM::JUTMGrid::getUTMZone ( ) const
inlineinherited

Get UTM zone.

Returns
UTM zone

Definition at line 116 of file JUTMGrid.hh.

117  {
118  return zone;
119  }
std::string zone
Definition: JUTMGrid.hh:225
std::string JUTM::JUTMGrid::toString ( ) const
inlineinherited

Convert UTM grid.

Returns
UTM grid

Definition at line 141 of file JUTMGrid.hh.

142  {
143  return (key + " " + wgs + " " + zone);
144  }
std::string key
Definition: JUTMGrid.hh:223
std::string zone
Definition: JUTMGrid.hh:225
std::string wgs
Definition: JUTMGrid.hh:224
static JUTMGrid JUTM::JUTMGrid::valueOf ( const std::string &  buffer)
inlinestaticinherited

Extract UTM grid.

Parameters
bufferWGS and UTM zone
Returns
UTM grid

Definition at line 153 of file JUTMGrid.hh.

154  {
155  JUTMGrid grid;
156 
157  std::istringstream is(buffer);
158 
159  if (is >> grid)
160  return grid;
161  else
162  throw JParseError("JUTMGrid::valueOf()");
163  }
is
Definition: JDAQCHSM.chsm:167
Data structure for UTM grid.
Definition: JUTMGrid.hh:36
const JUTMPosition& JUTM::JUTMPosition::getUTMPosition ( ) const
inlineinherited

Get UTM position.

Returns
position

Definition at line 84 of file JUTMPosition.hh.

85  {
86  return static_cast<const JUTMPosition&>(*this);
87  }
Data structure for UTM position.
Definition: JUTMPosition.hh:36
void JUTM::JUTMPosition::setUTMPosition ( const JUTMPosition position)
inlineinherited

Set UTM position.

Parameters
positionposition

Definition at line 95 of file JUTMPosition.hh.

96  {
97  static_cast<JUTMPosition&>(*this) = position;
98  }
Data structure for UTM position.
Definition: JUTMPosition.hh:36
JPosition3D JUTM::JUTMPosition::getPosition ( ) const
inlineinherited

Get position.

Returns
position

Definition at line 106 of file JUTMPosition.hh.

107  {
108  return JPosition3D(east, north, z);
109  }
JUTM::JUTMPosition::operator JPosition3D ( ) const
inlineinherited

Type conversion operator.

Returns
position

Definition at line 117 of file JUTMPosition.hh.

118  {
119  return getPosition();
120  }
JPosition3D getPosition() const
Get position.
double JUTM::JUTMPosition::getUTMEast ( ) const
inlineinherited

Get UTM east.

Returns
UTM East

Definition at line 128 of file JUTMPosition.hh.

129  {
130  return this->east;
131  }
double JUTM::JUTMPosition::getUTMNorth ( ) const
inlineinherited

Get UTM north.

Returns
UTM North

Definition at line 139 of file JUTMPosition.hh.

140  {
141  return this->north;
142  }
double JUTM::JUTMPosition::getUTMZ ( ) const
inlineinherited

Get UTM Z.

Returns
UTM Z

Definition at line 150 of file JUTMPosition.hh.

151  {
152  return this->z;
153  }
JUTMPosition& JUTM::JUTMPosition::negate ( )
inlineinherited

Negate UTM position.

Returns
this UTM position

Definition at line 161 of file JUTMPosition.hh.

162  {
163  east = -east;
164  north = -north;
165  z = -z;
166 
167  return *this;
168  }
double JUTM::JUTMPosition::getDisplacement ( const JUTMPosition position) const
inlineinherited

Get displacement to position.

The displacement corresponds to the 2D distance in the (East,North) plane.

Parameters
positionposition
Returns
displacement

Definition at line 243 of file JUTMPosition.hh.

244  {
245  const double x = this->getUTMEast() - position.getUTMEast();
246  const double y = this->getUTMNorth() - position.getUTMNorth();
247 
248  return sqrt(x*x + y*y);
249  }
double getUTMEast() const
Get UTM east.
double getUTMNorth() const
Get UTM north.

Friends And Related Function Documentation

std::istream& operator>> ( std::istream &  in,
JDetector detector 
)
friend

Read detector from input.

Parameters
ininput stream
detectordetector
Returns
input stream

Definition at line 290 of file JDetector.hh.

291  {
292  using namespace std;
293 
294  detector.clear();
295 
296  string buffer;
297 
298  if (in
299  >> detector.comment
300  >> static_cast<JObjectID&>(detector)
301  >> buffer) {
302 
303  int n;
304  int version = -1;
305 
306  try {
307  version = getDetectorVersion(buffer);
308  }
309  catch(std::exception&) {}
310 
311  switch (version) {
312 
313  default:
314  in >> static_cast<JDetectorHeader&>(detector);
315 
316  case V1:
317  in >> n;
318  detector.setVersion(buffer);
319  break;
320 
321  case -1:
322  detector.setVersion(putDetectorVersion(V1));
323  istringstream(buffer) >> n;
324  break;
325  }
326 
327  for (JModule module; n != 0 && in >> module; --n) {
328  detector.push_back(module);
329  }
330  }
331 
332  return in;
333  }
Data structure for a composite optical module.
Definition: JModule.hh:57
void setVersion(const JVersion &version)
Set version.
Definition: JDetector.hh:126
Data structure for detector header.
static const JGetDetectorVersion getDetectorVersion
Function object to map detector variant to detector version.
static const JPutDetectorVersion putDetectorVersion(getDetectorVersion)
Function object to map detector version to detector variant.
alias put_queue eval echo n
Definition: qlib.csh:19
do set_variable DETECTOR_TXT $WORKDIR detector
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 source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
version
Definition: JCalibratePMT.sh:7
std::ostream& operator<< ( std::ostream &  out,
const JDetector detector 
)
friend

Write detector to output.

Parameters
outoutput stream
detectordetector
Returns
output stream

Definition at line 343 of file JDetector.hh.

344  {
345  using namespace std;
346  using namespace JPP;
347 
348  setFormat<JPosition3D> (JFormat_t(9, 3, std::ios::fixed | std::ios::showpos));
349  setFormat<JDirection3D> (JFormat_t(9, 6, std::ios::fixed | std::ios::showpos));
350  setFormat<JQuaternion3D>(JFormat_t(9, 6, std::ios::fixed | std::ios::showpos));
351  setFormat<JCalibration> (JFormat_t(9, 3, std::ios::fixed | std::ios::showpos));
352 
353  out << detector.comment;
354  out << static_cast<const JObjectID&>(detector);
355 
356  switch (getDetectorVersion(detector.getVariant())) {
357 
358  default:
359  out << " ";
360  out << static_cast<const JDetectorVersion&>(detector) << endl;
361  out << static_cast<const JDetectorHeader&> (detector) << endl;
362  break;
363 
364  case V1:
365  out << " ";
366  break;
367  }
368 
369  out << detector.size() << endl;
370 
371  for (const_iterator i = detector.begin(); i != detector.end(); ++i) {
372  out << *i << endl;
373  }
374 
375  return out;
376  }
const std::string & getVariant() const
Get variant.
Definition: JVersion.hh:89
static const JGetDetectorVersion getDetectorVersion
Function object to map detector variant to detector version.
do set_variable DETECTOR_TXT $WORKDIR detector
Data structure for format specifications.
Definition: JManip.hh:521

Member Data Documentation

JComment JDETECTOR::JDetector::comment

Definition at line 462 of file JDetector.hh.

int JLANG::JObjectID::__id
protectedinherited

Definition at line 140 of file JObjectID.hh.

std::string JDETECTOR::JVersion::__variant
protectedinherited

Definition at line 170 of file JVersion.hh.

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 556 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 566 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 223 of file JUTMGrid.hh.

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

Definition at line 224 of file JUTMGrid.hh.

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

Definition at line 225 of file JUTMGrid.hh.

double JUTM::JUTMPosition::east
protectedinherited

Definition at line 311 of file JUTMPosition.hh.

double JUTM::JUTMPosition::north
protectedinherited

Definition at line 312 of file JUTMPosition.hh.

double JUTM::JUTMPosition::z
protectedinherited

Definition at line 313 of file JUTMPosition.hh.


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