1 #ifndef __JDETECTOR__JDETECTOR__ 
    2 #define __JDETECTOR__JDETECTOR__ 
   32 namespace JDETECTOR {}
 
   33 namespace JPP { 
using namespace JDETECTOR; }
 
   85     public JMultiEquals<JDetector, JTYPELIST<JObjectID, JVersion>::typelist>,
 
  163       return setVersion(getLatestDetectorVersion<JDetectorVersion::JVersion_t>());
 
  175       for (iterator i = begin(); i != end(); ++i) {
 
  191       for (iterator i = begin(); i != end(); ++i) {
 
  207       return at(address.
first);
 
  219       return at(address.
first);
 
  231       for (JDetector::const_iterator module = this->begin(); module != this->end(); ++module) {
 
  232         if (*module == location) {
 
  249       for (JDetector::iterator module = this->begin(); module != this->end(); ++module) {
 
  250         if (*module == location) {
 
  300           >> static_cast<JObjectID&>(detector)
 
  309         catch(std::exception&) {}
 
  323           istringstream(buffer) >> 
n;
 
  327         for (
JModule module; n != 0 && in >> module; --
n) {
 
  328           detector.push_back(module);
 
  350       setFormat<JPosition3D>  (
JFormat_t(9, 3, std::ios::fixed | std::ios::showpos));
 
  351       setFormat<JDirection3D> (
JFormat_t(9, 6, std::ios::fixed | std::ios::showpos));
 
  352       setFormat<JQuaternion3D>(
JFormat_t(9, 6, std::ios::fixed | std::ios::showpos));
 
  353       setFormat<JCalibration> (
JFormat_t(9, 3, std::ios::fixed | std::ios::showpos));
 
  359       out << static_cast<const JObjectID&>(
detector);
 
  365         out << static_cast<const JDetectorVersion&>(
detector) << endl;
 
  366         out << static_cast<const JDetectorHeader&> (
detector) << endl;
 
  374       out << detector.size() << endl;
 
  376       for (const_iterator i = detector.begin(); i != detector.end(); ++i) {
 
  413       in.
read(&buffer[1], 
N - 1);
 
  415       JByteArrayReader 
is(buffer, 
N);
 
  452         for (JComment::const_iterator i = this->
comment.begin(); i != this->
comment.end(); ++i) {
 
  458       out << static_cast<const JObjectID&>       (*this);
 
  459       out << static_cast<const JDetectorVersion&>(*this);
 
  460       out << static_cast<const JDetectorHeader&> (*this);
 
  463       for (const_iterator i = begin(); i != end(); ++i) {
 
Interface for binary output. 
 
static void setVersion(const JVersion &version)
Set detector version. 
 
Data structure for a composite optical module. 
 
JUTMPosition & sub(const JUTMPosition &pos)
Subtract UTM position. 
 
JDetectorVersion()
Default constructor. 
 
JVersion_t
Enumeration of version types. 
 
friend std::ostream & operator<<(std::ostream &out, const JDetector &detector)
Write detector to output. 
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message. 
 
bool setToLatestVersion()
Set to latest version. 
 
int second
index of PMT in module data structure. 
 
friend std::istream & operator>>(std::istream &in, JDetector &detector)
Read detector from input. 
 
void setVersion(const JVersion &version)
Set version. 
 
const JPMT & getPMT(const JPMTAddress &address) const 
Get PMT parameters. 
 
void setVersion(const JVersion &version)
Set version. 
 
JModule & getModule(const JLocation &location)
Get module parameters. 
 
JObjectID()
Default constructor. 
 
Template definition of auxiliary base class for data structures composed of multiple base classes wit...
 
JDetector()
Default constructor. 
 
int first
index of module in detector data structure 
 
Forward declaration of binary output. 
 
virtual JReader & read(JReader &in) override
Read from input. 
 
Version with PMT status field and comments. 
 
Data structure for vector in three dimensions. 
 
virtual JWriter & write(JWriter &out) const override
Write to output. 
 
Logical location of module. 
 
Auxiliary class for recursive type list generation. 
 
Data structure for PMT geometry and calibration. 
 
Data structure for detector version. 
 
JDetector(const JObjectID &id, const JVersion &version, const JDetectorHeader &header)
Constructor. 
 
bool setVersion(const JDetectorVersion::JVersion_t &version, const bool force=false)
Set version. 
 
Address of module in detector data structure. 
 
Interface for binary input. 
 
const std::string & getVariant() const 
Get variant. 
 
static const JGetDetectorVersion getDetectorVersion
Function object to map detector variant to detector version. 
 
const JModule & getModule(const JModuleAddress &address) const 
Get module parameters. 
 
static const JPutDetectorVersion putDetectorVersion(getDetectorVersion)
Function object to map detector version to detector variant. 
 
static void setVersion(const JVersion &version)
Set detector version. 
 
Address of PMT in detector data structure. 
 
Data structure for PMT geometry and calibration. 
 
Auxiliary class for object identification. 
 
JPMT & getPMT(const JPMTAddress &address)
Get PMT parameters. 
 
void setVersion() const 
Set version. 
 
alias put_queue eval echo n
 
JDetector & operator+=(const JVector3D &pos)
Move detector elements. 
 
JUTMPosition & add(const JUTMPosition &pos)
Add UTM position. 
 
const JModule & getModule(const JLocation &location) const 
Get module parameters. 
 
Exception for accessing an index in a collection that is outside of its range. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
Auxiliary class for version identifier. 
 
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 CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
JDetector & operator-=(const JVector3D &pos)
Move detector elements. 
 
then usage $script[input file[working directory[option]]] nWhere option can be N
 
JModule & getModule(const JModuleAddress &address)
Get module parameters. 
 
const JVersion & getVersion() const 
Get version. 
 
Data structure for a composite optical module.