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) {
 
   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 JComparator_t & getComparator() const
Get comparator.
 
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.
 
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.
 
void transform(const JRotation3D &R, const JVector3D &pos)
Transformation of geometry (see method JGEOMETRY3D::JPosition3D::transform(const JRotation3D&,...
 
JModule & sub(const JVector3D &pos)
Subtract position.
 
Data structure for direction in three dimensions.
 
const JDirection3D & getDirection() const
Get direction.
 
Data structure for position in three dimensions.
 
const JPosition3D & getPosition() const
Get position.
 
void transform(const JRotation3D &R, const JVector3D &pos)
Transform 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