1 #ifndef __JDETECTOR__JMODULE__ 
    2 #define __JDETECTOR__JMODULE__ 
   23 namespace JDETECTOR {}
 
   24 namespace JPP { 
using namespace JDETECTOR; }
 
  168         for (iterator i = begin(); i != end(); ++i) {
 
  169           pos.
add(i->getPosition());
 
  186       for (iterator i = this->begin(); i != this->end(); ++i) {
 
  201       for (iterator i = this->begin(); i != this->end(); ++i) {
 
  218       for (iterator i = this->begin(); i != this->end(); ++i) {
 
  219         i->transform(R, pos);
 
  233       for (iterator i = this->begin(); i != this->end(); ++i) {
 
  247       return add(pos - static_cast<JPosition3D&>(*
this));
 
  259       for (iterator i = begin(); i != end(); ++i) {
 
  277       for (iterator i = begin(); i != end(); ++i) {
 
  295       for (iterator i = begin(); i != end(); ++i) {
 
  311       for (iterator i = begin(); i != end(); ++i) {
 
  327       for (iterator i = begin(); i != end(); ++i) {
 
  343       return this->
add(pos);
 
  355       return this->
sub(pos);
 
  377       for (
JPMT pmt; n != 0 && in >> pmt; --n) {
 
  378         module.push_back(pmt);
 
  398       out << static_cast<const JModuleIdentifier&>(module);
 
  400       out << static_cast<const JModuleLocation&>  (module);
 
  402       out << 
' ' << module.size() << endl;
 
  404       for (const_iterator i = module.begin(); i != module.end(); ++i) {
 
  405         out << 
' ' << *i << endl;;
 
  430       for (
JPMT pmt; n != 0; --n) {
 
  434         module.push_back(pmt);
 
  452       out << static_cast<const JModuleIdentifier&>(module);
 
  453       out << static_cast<const JModuleLocation&>  (module);
 
  455       int n = module.size();
 
  459       for (const_iterator i = module.begin(); i != module.end(); ++i) {
 
friend JReader & operator>>(JReader &in, JModule &module)
Read module from input. 
 
Interface for binary output. 
 
Data structure for a composite optical module. 
 
Logical location of module. 
 
JPosition3D & rotate_back(const JRotation3D &R)
Rotate back. 
 
JModule & operator-=(const JVector3D &pos)
Subtract position. 
 
JModule & add(const double t0)
Add time offset. 
 
void transform(const JRotation3D &R, const JVector3D &pos)
Transform position. 
 
friend JWriter & operator<<(JWriter &out, const JModule &module)
Write module to output. 
 
JModule()
Default constructor. 
 
JModule & sub(const JVector3D &pos)
Subtract position. 
 
JVector3D & sub(const JVector3D &vector)
Subtract vector. 
 
void transform(const JTransformation3D &T)
Transformation of geometry. 
 
Data structure for vector in three dimensions. 
 
JModule & sub(const double t0)
Subtract time offset. 
 
Data structure for PMT geometry and calibration. 
 
void compile()
Compile position of module from the positions of the PMTs. 
 
void rotate_back(const JRotation3D &R)
Rotate back module. 
 
Interface for binary input. 
 
const JPosition3D & getPosition() const 
Get position. 
 
static const JModule & getInstance()
Get reference to unique instance of this class object. 
 
const JPMT & getPMT(const int index) const 
Get PMT. 
 
void rotate(const JRotation3D &R)
Rotate module. 
 
JModule & operator+=(const JVector3D &pos)
Add position. 
 
const JRotation3D & getRotation() const 
Get rotation. 
 
friend std::ostream & operator<<(std::ostream &out, const JModule &module)
Write module to output. 
 
friend std::istream & operator>>(std::istream &in, JModule &module)
Read module from input. 
 
Data structure for PMT geometry and calibration. 
 
Auxiliary class for object identification. 
 
void transform(const JRotation3D &R, const JVector3D &pos)
Transformation of geometry (see method JGEOMETRY3D::JPosition3D::transform(const JRotation3D&, const JVector3D&)). 
 
JModule & set(const double t0)
Set time offset. 
 
JPMT & getPMT(const int index)
Get PMT. 
 
Data structure for position in three dimensions. 
 
JVector3D & div(const double factor)
Scale vector. 
 
JModule(const int id, const JModuleLocation &location)
Constructor. 
 
Data structure for normalised vector in three dimensions. 
 
JPosition3D & rotate(const JRotation3D &R)
Rotate. 
 
JModule & set(const JVector3D &pos)
Set position. 
 
JVector3D & add(const JVector3D &vector)
Add vector. 
 
Logical location of module. 
 
JModule & add(const JVector3D &pos)
Add position. 
 
JVector3D()
Default constructor.