1#ifndef __JDETECTOR__JDETECTORSUBSET__ 
    2#define __JDETECTOR__JDETECTORSUBSET__ 
   56                      const double          Rmax = std::numeric_limits<double>::max(),
 
   63      for (JDetector::const_iterator i = detector.begin(); i != detector.end(); ++i) {
 
   69        if (Z(pos.
getZ()) && pos.
getX() <= Rmax) {
 
   73          module.transform(transformation);
 
   75          this->push_back(module);
 
 
   94                      const double     Dmax = std::numeric_limits<double>::max()) 
 
   96      for (JDetector::const_iterator i = detector.begin(); i != detector.end(); ++i) {
 
  106          module.sub(position);
 
  108          this->push_back(module);
 
 
 
  118  template<
class JComparator_t>
 
  134                 const_iterator 
end) :
 
 
  140      inline const_iterator 
end()
   const { 
return __end; }     
 
  164                    const JComparator_t&  comparator,
 
  165                    const double          Rmax = std::numeric_limits<double>::max(),
 
  170      std::sort(this->begin(), this->end(), 
compare);
 
 
  187                    const double          Rmax = std::numeric_limits<double>::max(), 
 
  192      std::sort(this->begin(), this->end(), 
compare);
 
 
  209                    const JComparator_t& comparator,
 
  210                    const double         Dmax = std::numeric_limits<double>::max()) :
 
  214      std::sort(this->begin(), this->end(), 
compare);      
 
 
  230                    const double         Dmax = std::numeric_limits<double>::max()) :
 
  234      std::sort(this->begin(), this->end(), 
compare);      
 
 
  257      return std::lower_bound(this->begin(), this->end(), value, 
compare);
 
 
  269                        const double xmax)
 const 
 
 
 
 
 
 
Data structure for detector geometry and calibration.
 
Auxiliary classes to compare modules.
 
Auxiliary class to define a range between two values.
 
Detector subset without binary search functionality.
 
JDetectorSubset_t(const JDetector &detector, const JVector3D &position, const double Dmax=std::numeric_limits< double >::max())
Constructor.
 
JDetectorSubset_t(const JDetector &detector, const JAxis3D &track, const double Rmax=std::numeric_limits< double >::max(), const JRange< double > &Z=JRange< double >())
Constructor.
 
Detector subset with binary search functionality.
 
const JComparator_t compare
 
const_iterator lower_bound(const double value) const
Find first module after given value according specified comparator.
 
JDetectorSubset(const JDetector &detector, const JAxis3D &track, const double Rmax=std::numeric_limits< double >::max(), const JRange< double > &Z=JRange< double >())
Constructor.
 
range_type getRange(const double xmin, const double xmax) const
Get range of modules between given values according specified comparator.
 
const JComparator_t & getComparator() const
Get comparator.
 
JDetectorSubset(const JDetector &detector, const JVector3D &position, const JComparator_t &comparator, const double Dmax=std::numeric_limits< double >::max())
Constructor.
 
JDetectorSubset(const JDetector &detector, const JVector3D &position, const double Dmax=std::numeric_limits< double >::max())
Constructor.
 
JDetectorSubset(const JDetector &detector, const JAxis3D &track, const JComparator_t &comparator, const double Rmax=std::numeric_limits< double >::max(), const JRange< double > &Z=JRange< double >())
Constructor.
 
Data structure for a composite optical module.
 
Data structure for direction in three dimensions.
 
const JDirection3D & getDirection() const
Get direction.
 
Data structure for position in three dimensions.
 
void transform(const JRotation3D &R, const JVector3D &pos)
Transform position.
 
const JPosition3D & getPosition() const
Get position.
 
const JRotation3D & getRotation() const
Get rotation.
 
Data structure for vector in three dimensions.
 
double getLength() const
Get length.
 
double getZ() const
Get z position.
 
JVector3D & sub(const JVector3D &vector)
Subtract vector.
 
double getX() const
Get x position.
 
file Auxiliary data structures and methods for detector calibration.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Auxiliary class for range of iterators.
 
bool empty() const
check emptyness
 
const_iterator begin() const
begin of iteration
 
range_type(const_iterator begin, const_iterator end)
Constructor.
 
const_iterator end() const
end of iteration