Struct ActsFatras::Channelizer¶
-
struct Channelizer
The Channelizer splits a surface segment, i.e.
after projection onto the readout surface into channel segments.
Public Types
-
using Bin2D = std::array<unsigned int, 2>
Shorthand for a 2D bin.
-
using BinDelta2D = std::array<int, 2>
shorthand for a 2D bin delta
Public Functions
-
std::vector<ChannelSegment> segments(const Acts::GeometryContext &geoCtx, const Acts::Surface &surface, const Acts::BinUtility &segmentation, const Segment2D &segment) const
Divide the surface segment into channel segments.
Note
Channelizing is done in cartesian coordinates (start/end)
Note
The start and end cartesian vector is supposed to be inside the surface bounds (pre-run through the SurfaceMasker)
Note
The segmentation has to be 2-dimensional, even if the actual readout is 1-dimensional, in latter case one bin in the second coordinate direction is required.
- Parameters
geoCtx – The geometry context for the localToGlobal, etc.
surface – The surface for the channelizing
segmentation – The segmentation for the channelizing
segment – The surface segment (cartesian coordinates)
- Returns
a vector of ChannelSegment objects
-
struct ChannelSegment
Nested struct for representing channel steps.
Public Functions
-
struct ChannelStep
Nested struct for stepping from one channel to the next.
Public Functions
-
inline ChannelStep(BinDelta2D delta_, Acts::Vector2 intersect_, const Acts::Vector2 &start)
Constructor with arguments for a ChannelStep.
- Parameters
delta_ – The bin delta for this step
intersect_ – The intersect with the channel boundary
start – The start of the surface segment, for path from origin
-
inline bool operator<(const ChannelStep &cstep) const
Smaller operator for sorting the ChannelStep objects.
The ChannelStep objects can be compared with its path distance from the start (surface segment origin)
- Parameters
cstep – The other ChannelStep to be compared
Public Members
-
BinDelta2D delta = {0, 0}
This is the delta to the last step in bins.
-
double path = 0.
The patlength from the start.
-
inline ChannelStep(BinDelta2D delta_, Acts::Vector2 intersect_, const Acts::Vector2 &start)
-
using Bin2D = std::array<unsigned int, 2>