1 #ifndef __JDETECTOR__JMODULE__
2 #define __JDETECTOR__JMODULE__
149 const double precision = 1.0e-3)
151 if (first.size() == second.size()) {
153 for (
size_t i = 0; i != first.size(); ++i) {
199 if (index >= (
int) size()) {
203 (*this)[index] = pmt;
216 for (iterator i = begin(); i != end(); ++i) {
217 pos.
add(i->getPosition());
220 static_cast<JPosition3D&>(*
this) = pos.
div(size());
232 static_cast<JPosition3D&>(*this).rotate(R);
234 for (iterator i = this->begin(); i != this->end(); ++i) {
247 static_cast<JPosition3D&>(*this).rotate_back(R);
249 for (iterator i = this->begin(); i != this->end(); ++i) {
264 static_cast<JPosition3D&>(*this).transform(R, pos);
266 for (iterator i = this->begin(); i != this->end(); ++i) {
267 i->transform(R, pos);
281 for (iterator i = this->begin(); i != this->end(); ++i) {
294 static_cast<JPosition3D&>(*this).rotate(Q);
296 for (iterator i = this->begin(); i != this->end(); ++i) {
309 static_cast<JPosition3D&>(*this).rotate_back(Q);
311 for (iterator i = this->begin(); i != this->end(); ++i) {
325 return add(pos - static_cast<JPosition3D&>(*
this));
337 for (iterator i = begin(); i != end(); ++i) {
355 for (iterator i = begin(); i != end(); ++i) {
373 for (iterator i = begin(); i != end(); ++i) {
389 for (iterator i = begin(); i != end(); ++i) {
405 for (iterator i = begin(); i != end(); ++i) {
421 return this->
add(pos);
433 return this->
sub(pos);
448 in >> static_cast<JModuleIdentifier&>(module);
449 in >> static_cast<JModuleLocation&> (module);
455 for (
JPMT pmt;
n != 0 && in >> pmt; --
n) {
456 module.push_back(pmt);
476 out << static_cast<const JModuleIdentifier&>(module);
478 out << static_cast<const JModuleLocation&> (module);
480 out <<
' ' << module.size() << endl;
482 for (const_iterator i = module.begin(); i != module.end(); ++i) {
483 out <<
' ' << *i << endl;;
501 in >> static_cast<JModuleIdentifier&>(module);
502 in >> static_cast<JModuleLocation&> (module);
508 for (
JPMT pmt;
n != 0; --
n) {
512 module.push_back(pmt);
530 out << static_cast<const JModuleIdentifier&>(module);
531 out << static_cast<const JModuleLocation&> (module);
533 int n = module.size();
537 for (const_iterator i = module.begin(); i != module.end(); ++i) {