Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActsFatras::Channelizer Struct Reference

#include <acts/blob/sPHENIX/Fatras/include/ActsFatras/Digitization/Channelizer.hpp>

Classes

struct  ChannelSegment
 Nested struct for representing channel steps. More...
 
struct  ChannelStep
 Nested struct for stepping from one channel to the next. More...
 

Public Types

using Segment2D = std::array< Acts::Vector2, 2 >
 Shorthand for a 2D segment.
 
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 Member Functions

std::vector< ChannelSegmentsegments (const Acts::GeometryContext &geoCtx, const Acts::Surface &surface, const Acts::BinUtility &segmentation, const Segment2D &segment) const
 

Detailed Description

The Channelizer splits a surface segment, i.e. after projection onto the readout surface into channel segments.

Definition at line 28 of file Channelizer.hpp.

View newest version in sPHENIX GitHub at line 28 of file Channelizer.hpp

Member Typedef Documentation

using ActsFatras::Channelizer::Bin2D = std::array<unsigned int, 2>

Shorthand for a 2D bin.

Definition at line 32 of file Channelizer.hpp.

View newest version in sPHENIX GitHub at line 32 of file Channelizer.hpp

using ActsFatras::Channelizer::BinDelta2D = std::array<int, 2>

shorthand for a 2D bin delta

Definition at line 34 of file Channelizer.hpp.

View newest version in sPHENIX GitHub at line 34 of file Channelizer.hpp

Shorthand for a 2D segment.

Definition at line 30 of file Channelizer.hpp.

View newest version in sPHENIX GitHub at line 30 of file Channelizer.hpp

Member Function Documentation

std::vector< ActsFatras::Channelizer::ChannelSegment > ActsFatras::Channelizer::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)
The start and end cartesian vector is supposed to be inside the surface bounds (pre-run through the SurfaceMasker)
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
geoCtxThe geometry context for the localToGlobal, etc.
surfaceThe surface for the channelizing
segmentationThe segmentation for the channelizing
segmentThe surface segment (cartesian coordinates)
Returns
a vector of ChannelSegment objects

Definition at line 23 of file Channelizer.cpp.

View newest version in sPHENIX GitHub at line 23 of file Channelizer.cpp

References Acts::BinUtility::bin(), Acts::BinUtility::binningData(), Acts::GeometryObject::binningPositionValue(), Acts::binR, Acts::BinUtility::dimensions(), end, Acts::detail::IntersectionHelper2D::intersectCircleSegment(), Acts::detail::IntersectionHelper2D::intersectSegment(), k, Acts::UnitConstants::min, Acts::Test::origin(), path, Acts::VectorHelpers::perp(), ActsTests::PropagationDatasets::phi, Acts::VectorHelpers::phi(), G4HCALIN::phistart, pstart(), physmon_track_finding_ttbar::r, Acts::Experimental::detail::BlueprintHelper::sort(), start, Acts::Surface::type(), ambiguity_solver_full_chain::x, and y.

Referenced by ActsFatras::BOOST_AUTO_TEST_CASE(), and ActsFatras::BOOST_DATA_TEST_CASE().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


The documentation for this struct was generated from the following files: