 |
Belle II Software
release-05-01-25
|
10 #include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHitTriple.h>
12 #include <tracking/trackFindingCDC/eventdata/hits/CDCRLWireHit.h>
13 #include <tracking/trackFindingCDC/topology/CDCWire.h>
14 #include <tracking/trackFindingCDC/topology/WireNeighborKind.h>
15 #include <tracking/trackFindingCDC/numerics/Modulo.h>
21 using namespace TrackFindingCDC;
24 : m_startToMiddleCellDistance(CHAR_MAX / 2)
25 , m_middleToEndCellDistance(CHAR_MAX / 2)
26 , m_oClockDelta(SHRT_MIN)
31 const short middleToEndCellDistance,
32 const short oClockDelta)
33 : m_startToMiddleCellDistance(startToMiddleCellDistance)
34 , m_middleToEndCellDistance(middleToEndCellDistance)
35 , m_oClockDelta(oClockDelta)
41 return m_startToMiddleCellDistance;
46 return m_middleToEndCellDistance;
51 return m_startToMiddleCellDistance + m_middleToEndCellDistance;
61 return getCellExtend() >= 2 and getCellExtend() <= 4;
106 if (not startToMiddleNeighborKind.
isValid() or
107 not middleToEndNeighborKind.
isValid()) {
113 const short startToMiddleCellDistance = startToMiddleNeighborKind.
getCellDistance();
114 const short middleToEndCellDistance = middleToEndNeighborKind.
getCellDistance();
115 return Shape(startToMiddleCellDistance,
116 middleToEndCellDistance,
117 symmetricModuloFast(oClockDelta, 12));
Shape getShape() const
Getter for the shape of this tiple if all three oriented wire hits are neighbors. Else ILLSHAPE.
short getCellDistance() const
Get the distance to the wire neighbor counted in number of cells.
short getStartToMiddleCellDistance() const
Getter for the start to middle cell distance.
std::ostream & operator<<(std::ostream &output, const IntervalOfValidity &iov)
const CDCWire & getStartWire() const
Getter for the wire the first oriented wire hit is based on.
CDCRLWireHitTriple getAlias() const
Returns the aliased version of this oriented wire hit triple.
void reverse()
Reverses the triple inplace.
Shape()
Default constructor for an invalid shape.
WireNeighborKind getNeighborKind(const CDCWire &wire) const
Returns gives the kind of neighborhood relation from this wire to the given wire.
bool isValid() const
Check if the neighbor kind is in principle valid.
void setMiddleRLWireHit(const CDCRLWireHit &middleRLWireHit)
Setter for the second oriented wire hit.
Class representing a triple of neighboring wire hits.
CDCRLWireHitPair m_rearRLWireHitPair
Memory for the second and third wire hits.
Type for the different shapes of a triple of neighboring wire hits.
CDCRLWireHitTriple reversed() const
Constructs the reverse tiple from this one.
CDCRLWireHit m_startRLWireHit
Memory for the start oriented wire hit.
CDCRLWireHit reversed() const
Returns the oriented wire hit with the opposite right left information.
const CDCWire & getEndWire() const
Getter for the wire the third oriented wire hit is based on.
Abstract base class for different kinds of events.
Class representing an oriented hit wire including a hypotheses whether the causing track passes left ...
short getOClockDirection() const
Get the direction on the clock to follow to reach the neighbor.
short getOClockDelta() const
Getter for the o'clock direction difference from start to middle compared to middle to end.
const CDCWire & getMiddleWire() const
Getter for the wire the second oriented wire hit is based on.
CDCRLWireHit & getMiddleRLWireHit()
Getter for the second oriented wire hit.
Class representing a sense wire in the central drift chamber.
CDCRLWireHit & getEndRLWireHit()
Getter for the third oriented wire hit.
CDCRLWireHitTriple()=default
Default constructor for ROOT.
int getICluster() const
Getter for the cluster id.
Type for the neighbor relationship from one wire to another.
bool isValid() const
Check if the shape is considered valid.
void setEndRLWireHit(const CDCRLWireHit &endRLWireHit)
Setter for the third oriented wire hit.
short getCellExtend() const
Getter for the sum of cell distances from start to middle and middle to end.
short getMiddleToEndCellDistance() const
Getter for the middle to end cell distance.
CDCRLWireHit & getStartRLWireHit()
Getter for the first oriented wire hit.