42 for (const_iterator i = this->begin(); i != this->end(); ++i) {
44 const double x = dir.
getDot(*i);
116 double phi_min = 0.0;
117 double phi_max = phiMax;
119 if (phi_max < 0.0) phi_max = 0.0;
120 if (phi_max >
PI) phi_max =
PI;
122 if (phi_max > phi_min) {
124 const double rad = phi_max - phi_min;
125 const double bin = rad / floor(rad/grid + 0.5);
127 for (
double phi = phi_min; phi < phi_max + 0.5*bin; phi += bin) {
131 }
else if (
PI - phi < 0.5*bin) {
134 push_back(dir + phi);
135 push_back(dir - phi);
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Data structure for angle in two dimensions.
double getDot(const JAngle2D &angle) const
Get dot product.
Direction set covering (part of) circle.
JOmega2D(const JAngle2D &dir, const double phiMax, const double grid)
Constructor.
void configure(const JAngle2D &dir, const double phiMax, const double grid)
Configure direction set.
JOmega2D()
Default constructor.
JOmega2D(const double grid)
Constructor.
Auxiliary classes and methods for 2D geometrical objects and operations.
static const double PI
Mathematical constants.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Base class for direction set.
int find(const JAngle2D &dir) const
Get index of direction closest to given direction.