Go to the documentation of this file. 1 #ifndef __JDETECTOR__JDETECTOR__
2 #define __JDETECTOR__JDETECTOR__
85 public JMultiEquals<JDetector, JTYPELIST<JObjectID, JVersion>::typelist>,
128 static_cast<JDetectorVersion&>(*this).setVersion(version);
153 for (iterator i = begin(); i != end(); ++i) {
169 for (iterator i = begin(); i != end(); ++i) {
185 return at(address.
first);
197 return at(address.
first);
209 for (JDetector::const_iterator module = this->begin(); module != this->end(); ++module) {
210 if (*module == location) {
227 for (JDetector::iterator module = this->begin(); module != this->end(); ++module) {
228 if (*module == location) {
278 >> static_cast<JObjectID&>(detector)
287 catch(std::exception&) {}
293 in >> static_cast<JDetectorHeader&>(detector);
302 istringstream(buffer) >>
n;
306 for (
JModule module;
n != 0 && in >> module; --
n) {
307 detector.push_back(module);
326 const ios::fmtflags format = out.flags();
327 const streamsize precision = out.precision();
329 out.setf(ios::fixed);
333 out << static_cast<const JObjectID&>(detector);
340 out << static_cast<const JDetectorVersion&>(detector) << endl;
341 out << static_cast<const JDetectorHeader&> (detector) << endl;
349 out << detector.size() << endl;
353 for (const_iterator i = detector.begin(); i != detector.end(); ++i) {
358 out.precision(precision);
376 in >> static_cast<JObjectID&> (*
this);
377 in >> static_cast<JDetectorVersion&>(*
this);
378 in >> static_cast<JDetectorHeader&> (*
this);
404 out << static_cast<const JObjectID&> (*
this);
405 out << static_cast<const JDetectorVersion&>(*
this);
406 out << static_cast<const JDetectorHeader&> (*
this);
409 for (const_iterator i = begin(); i != end(); ++i) {
Version with UTC time and UTM position data.
JDetector & operator-=(const JVector3D &pos)
Move detector elements.
JUTMPosition & sub(const JUTMPosition &pos)
Subtract UTM position.
Interface for binary input.
Exception for accessing an index in a collection that is outside of its range.
void setVersion(const JDetectorVersion::JVersion_t &version)
Set version.
int first
index of module in detector data structure
JModule & getModule(const JModuleAddress &address)
Get module parameters.
friend std::ostream & operator<<(std::ostream &out, const JDetector &detector)
Write detector to output.
const JVersion & getVersion() const
Get version.
static const JPutDetectorVersion putDetectorVersion(getDetectorVersion)
Function object to map detector version to detector variant.
Forward declaration of binary output.
Version with PMT status field and comments.
void setVersion(const JVersion &version)
Set version.
JDetector & operator+=(const JVector3D &pos)
Move detector elements.
static const JGetDetectorVersion getDetectorVersion
Function object to map detector variant to detector version.
Auxiliary class for recursive type list generation.
friend std::istream & operator>>(std::istream &in, JDetector &detector)
Read detector from input.
virtual JReader & read(JReader &in)
Read from input.
JUTMPosition & add(const JUTMPosition &pos)
Add UTM position.
const JModule & getModule(const JModuleAddress &address) const
Get module parameters.
virtual JWriter & write(JWriter &out) const
Write to output.
JVersion_t
Enumeration of version types.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Logical location of module.
Data structure for vector in three dimensions.
Interface for binary output.
Address of module in detector data structure.
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
static void setVersion(const JVersion &version)
Set detector version.
Data structure for a composite optical module.
Data structure for PMT geometry and calibration.
Auxiliary class for object identification.
JDetector()
Default constructor.
JModule & getModule(const JModuleLocation &location)
Get module parameters.
Address of PMT in detector data structure.
Template definition of auxiliary base class for composite data structures composed of base classes wi...
Auxiliary class for version identifier.
JDetector(const JObjectID &id, const JVersion &version, const JDetectorHeader &header)
Constructor.
const std::string & getVariant() const
Get variant.
JPMT & getPMT(const JPMTAddress &address)
Get PMT parameters.
const JModule & getModule(const JModuleLocation &location) const
Get module parameters.
const JPMT & getPMT(const JPMTAddress &address) const
Get PMT parameters.
Auxiliary classes and methods for detector calibration.
int second
index of PMT in module data structure.