Jpp
|
Detector data structure. More...
#include <JDetector.hh>
Public Types | |
enum | JVersion_t { V1 = 1, V2 = 2, V3 = 3 } |
Enumeration of version types. More... | |
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... | |
void | setVersion (const JDetectorVersion::JVersion_t &version) |
Set version. More... | |
JDetector & | operator+= (const JVector3D &pos) |
Move detector elements. More... | |
JDetector & | operator-= (const JVector3D &pos) |
Move detector elements. More... | |
const JModule & | getModule (const JModuleAddress &address) const |
Get module parameters. More... | |
JModule & | getModule (const JModuleAddress &address) |
Get module parameters. More... | |
const JModule & | getModule (const JModuleLocation &location) const |
Get module parameters. More... | |
JModule & | getModule (const JModuleLocation &location) |
Get module parameters. More... | |
const JPMT & | getPMT (const JPMTAddress &address) const |
Get PMT parameters. More... | |
JPMT & | getPMT (const JPMTAddress &address) |
Get PMT parameters. More... | |
virtual JReader & | read (JReader &in) |
Read from input. More... | |
virtual JWriter & | write (JWriter &out) const |
Write to output. More... | |
int | getID () const |
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 JVersion & | getVersion () const |
Get version. More... | |
JVersion & | getVersion () |
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... | |
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_type & | getRange () 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... | |
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_type & | join (const range_type &range) |
Join ranges. More... | |
range_type & | combine (const range_type &range) |
Combine ranges. More... | |
range_type & | add (argument_type x) |
Add offset. More... | |
range_type & | add (const range_type &range) |
Add offsets. More... | |
JUTMPosition & | add (const JUTMPosition &pos) |
Add UTM position. More... | |
range_type & | sub (argument_type x) |
Subtract offset. More... | |
range_type & | sub (const range_type &range) |
Subtract offsets. More... | |
JUTMPosition & | sub (const JUTMPosition &pos) |
Subtract UTM position. More... | |
range_type & | mul (const double factor) |
Multiply range. More... | |
JFirst_t & | mul (const JSecond_t &object) |
Multiply with object. More... | |
JUTMPosition & | mul (const double factor) |
Scale UTM position. More... | |
JUTMPosition & | mul (const JSecond_t &object) |
Multiply with object. More... | |
range_type & | div (const double factor) |
Divide range. More... | |
JUTMPosition & | div (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_type & | getKey () const |
const std::string & | getKey () const |
Get key. More... | |
const mapped_type & | getValue () const |
mapped_type & | getValue () |
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 JUTMPosition & | getUTMPosition () const |
Get UTM position. More... | |
JPosition3D | getPosition () const |
Get position. More... | |
double | getUTMEast () const |
Get UTM east. More... | |
double | getUTMNorth () const |
Get UTM north. More... | |
double | getUTMZ () const |
Get UTM Z. More... | |
JUTMPosition & | negate () |
Negate UTM position. More... | |
Static Public Member Functions | |
static JEquationParameters & | getEquationParameters () |
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 | |
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... | |
Static Protected Member Functions | |
template<class JHead_t , class JTail_t > | |
static bool | eq (const JClass_t &first, const JClass_t &second, const JType< JTypeList< JHead_t, JTail_t > > &type) |
Equals method for composite data types. More... | |
template<class JHead_t > | |
static bool | eq (const JClass_t &first, const JClass_t &second, const JType< JTypeList< JHead_t, JNullType > > &type) |
Equals method for composite data types. 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... | |
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 available for anyone with a KM3NeT account at the <a href="https://drive.google.com/open?id=0B6l8SNtndcwaUTZPOWZOXzd6R3M> google drive .
Definition at line 80 of file JDetector.hh.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
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. |
Definition at line 42 of file JDetectorVersion.hh.
|
inline |
|
inline |
Constructor.
id | detector identifier |
version | version |
header | header |
Definition at line 108 of file JDetector.hh.
|
inline |
|
inline |
Move detector elements.
pos | offset position |
Definition at line 151 of file JDetector.hh.
Move detector elements.
pos | offset position |
Definition at line 167 of file JDetector.hh.
|
inline |
Get module parameters.
address | module address |
Definition at line 183 of file JDetector.hh.
|
inline |
Get module parameters.
address | module address |
Definition at line 195 of file JDetector.hh.
|
inline |
Get module parameters.
location | module location |
Definition at line 207 of file JDetector.hh.
|
inline |
Get module parameters.
location | module location |
Definition at line 225 of file JDetector.hh.
|
inline |
Get PMT parameters.
address | JPMTAddress |
Definition at line 243 of file JDetector.hh.
|
inline |
Get PMT parameters.
address | JPMTAddress |
Definition at line 255 of file JDetector.hh.
Read from input.
in | reader |
Implements JIO::JSerialisable.
Definition at line 370 of file JDetector.hh.
Write to output.
out | writer |
Implements JIO::JSerialisable.
Definition at line 400 of file JDetector.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Less than method.
object | object identifier |
Definition at line 78 of file JObjectID.hh.
|
inlineinherited |
Less than method.
id | identifier |
Definition at line 90 of file JObjectID.hh.
|
inlineinherited |
More than method.
id | identifier |
Definition at line 102 of file JObjectID.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Equal method.
version | version |
Definition at line 113 of file JVersion.hh.
|
inlinestaticinherited |
Get equation parameters.
Definition at line 144 of file JDetectorHeader.hh.
|
inlinestaticinherited |
Set equation parameters.
equation | equation parameters |
Definition at line 158 of file JDetectorHeader.hh.
|
inlineinherited |
Get properties of this class.
equation | equation parameters |
Definition at line 169 of file JDetectorHeader.hh.
|
inlineinherited |
Get properties of this class.
equation | equation parameters |
Definition at line 180 of file JDetectorHeader.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
Set range.
first | first |
second | second |
option | false |
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Get length (difference between upper and lower limit).
|
inlineinherited |
Check validity of range.
|
inlineinherited |
Test whether value is inside range.
x | value |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Test overlap with given range.
The result is equivalent to join(range).is_valid().
range | range |
Definition at line 373 of file JRange.hh.
|
inlineinherited |
|
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).
range | range |
Definition at line 406 of file JRange.hh.
|
inlineinherited |
|
inlineinherited |
|
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.
range | offset |
|
inlineinherited |
Add UTM position.
pos | UTM position |
Definition at line 153 of file JUTMPosition.hh.
|
inlineinherited |
|
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.
range | offset |
|
inlineinherited |
Subtract UTM position.
pos | UTM position |
Definition at line 169 of file JUTMPosition.hh.
|
inlineinherited |
|
inlineinherited |
Multiply with object.
object | object |
Definition at line 273 of file JMath.hh.
|
inlineinherited |
Scale UTM position.
factor | multiplication factor |
Definition at line 185 of file JUTMPosition.hh.
|
inlineinherited |
Multiply with object.
object | object |
Definition at line 273 of file JMath.hh.
|
inlineinherited |
|
inlineinherited |
Scale UTM position.
factor | division factor |
Definition at line 201 of file JUTMPosition.hh.
|
inlineinherited |
Get expected number of occurances of given rate within this interval.
R | rate |
|
inlinestaticinherited |
Get minimum possible value.
|
inlinestaticinherited |
Get maximum possible value.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
Extract UTM grid.
buffer | WGS and UTM zone |
Definition at line 113 of file JUTMGrid.hh.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinestaticprotectedinherited |
Equals method for composite data types.
first | first object |
second | second object |
type | type |
Definition at line 42 of file JMultiEquals.hh.
|
inlinestaticprotectedinherited |
Equals method for composite data types.
first | first object |
second | second object |
type | type |
Definition at line 61 of file JMultiEquals.hh.
|
friend |
Read detector from input.
in | input stream |
detector | detector |
Definition at line 268 of file JDetector.hh.
|
friend |
Write detector to output.
out | output stream |
detector | detector |
Definition at line 322 of file JDetector.hh.
JComment JDETECTOR::JDetector::comment |
Definition at line 418 of file JDetector.hh.
|
protectedinherited |
Definition at line 160 of file JObjectID.hh.
|
protectedinherited |
Definition at line 171 of file JVersion.hh.
|
staticinherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
Definition at line 183 of file JUTMGrid.hh.
|
protectedinherited |
Definition at line 184 of file JUTMGrid.hh.
|
protectedinherited |
Definition at line 185 of file JUTMGrid.hh.
|
protectedinherited |
Definition at line 265 of file JUTMPosition.hh.
|
protectedinherited |
Definition at line 266 of file JUTMPosition.hh.
|
protectedinherited |
Definition at line 267 of file JUTMPosition.hh.