10#include <tracking/trackFindingCDC/numerics/Modulo.h>
11#include <tracking/trackFindingCDC/numerics/ESign.h>
19 namespace TrackFindingCDC {
48 if (iAbsLayerDifference > 2) iAbsLayerDifference = 2;
49 return iAbsLayerDifference;
Type for the neighbor relationship from one wire to another.
bool isValid() const
Check if the neighbor kind is in principle valid.
short getAbsILayerDifference() const
Calculate the absolute distance between the current and the layer of the designated neighbor.
short getOClockDirection() const
Get the direction on the clock to follow to reach the neighbor.
short getILayerDifferenceSign() const
Calculate if the designated neighbor is more outside.
WireNeighborKind()=default
Default constructor - constructs an invalid neighbor kind.
short getILayerDifference() const
Calculate the distance between the current and the layer of the designated neighbor.
short m_oClockDirection
Memory for the direction the neighbor is located. Range 1 - 12 imaged on a regular clock.
WireNeighborKind(short cellDistance, short oClockDirection)
Useful constructor from cell distance and direction to reach the designated neighbor.
short m_cellDistance
Memory for the distance between to wires counted in numbers of cells.
short getCellDistance() const
Get the distance to the wire neighbor counted in number of cells.
Abstract base class for different kinds of events.