10#include <tracking/trackFindingCDC/hough/axes/DiscreteValue.h>
11#include <tracking/trackFindingCDC/hough/axes/ContinuousValue.h>
13#include <tracking/trackFindingCDC/topology/ILayer.h>
14#include <tracking/trackFindingCDC/geometry/Vector2D.h>
21 namespace TrackFindingCDC {
26 using DiscreteImpact = DiscreteValue<float, ImpactTag>;
29 using ContinuousImpact = ContinuousValue<double, ImpactTag>;
35 using DiscreteCurv = DiscreteValue<float, CurvTag>;
38 using ContinuousCurv = ContinuousValue<double, CurvTag>;
50 explicit operator float()
const
64 return output << value.m_curv;
Type to have values not based on discrete positions from an array.
Class representing a curvature value that also caches two dimensional arc length to each layer in the...
float m_curv
Memory for the curvature.
float getArcLength2D(ILayer iCLayer, bool secondArm=false) const
Return the two dimensional arc length to the given layer id.
std::array< float, 56 > m_secondaryArcLength2DByICLayer
Memory for two dimensional arc length at each layer on the second arm.
std::array< float, 56 > m_arcLength2DByICLayer
Memory for two dimensional arc length at each layer.
friend std::ostream & operator<<(std::ostream &output, const CurvWithArcLength2DCache &value)
Output operator for debugging.
Representation for a discrete position in an array of discrete positions.
Abstract base class for different kinds of events.