Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::Experimental::detail::SupportHelper Namespace Reference

This file contains helper methods to build common support structures such as support cylinders or discs. More...

Functions

std::vector< std::shared_ptr
< Surface > > 
cylindricalSupport (const Transform3 &transform, const std::array< ActsScalar, 6u > &bounds, unsigned int splits=1u)
 Helper method to build cylindrical support structure.
 
std::vector< std::shared_ptr
< Surface > > 
discSupport (const Transform3 &transform, const std::array< ActsScalar, 4u > &bounds, unsigned int splits=1u)
 Helper method to build disc support structure.
 
void addSupport (std::vector< std::shared_ptr< Surface >> &layerSurfaces, std::vector< size_t > &assignToAll, const Extent &layerExtent, Surface::SurfaceType layerRepresentation, const std::array< ActsScalar, 5u > &layerSupportValues, std::optional< Transform3 > layerTransform=std::nullopt, unsigned int supportSplits=1u)
 

Detailed Description

This file contains helper methods to build common support structures such as support cylinders or discs.

It allows to model those as Disc/CylinderSurface objects, but also - if configured such - as approximations built from palanr surfaces

Function Documentation

void Acts::Experimental::detail::SupportHelper::addSupport ( std::vector< std::shared_ptr< Surface >> &  layerSurfaces,
std::vector< size_t > &  assignToAll,
const Extent &  layerExtent,
Surface::SurfaceType  layerRepresentation,
const std::array< ActsScalar, 5u > &  layerSupportValues,
std::optional< Transform3 >  layerTransform = std::nullopt,
unsigned int  supportSplits = 1u 
)

Add support to already existing surfaces

Parameters
layerSurfaces[in, out] the surfaces to which those are added
assignToAll[in, out] indices that are assigned to all bins in the indexing
layerExtentthe externally provided layer Extent
layerRepresentationthe shape of the layer
layerSupportValuesthe support structure in numbers
layerTransformis an optional value of the layer transform
supportSplitsthe number of splits if splitting is configured
Note
this modifies the layerSurfaces and toAllIndices

Overall parameters of support surfaces

Definition at line 125 of file SupportHelper.cpp.

View newest version in sPHENIX GitHub at line 125 of file SupportHelper.cpp

References Acts::binPhi, Acts::binR, Acts::binZ, Acts::Extent::constrains(), cylindricalSupport(), discSupport(), Acts::Extent::max(), Acts::Test::maxPhi, maxR, maxZ, Acts::Extent::min(), Acts::Test::minPhi, minR, sTransform, and physmon_ckf_tracking::u.

Referenced by BOOST_AUTO_TEST_CASE(), and Acts::Experimental::LayerStructureBuilder::construct().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< std::shared_ptr< Acts::Surface > > Acts::Experimental::detail::SupportHelper::cylindricalSupport ( const Transform3 &  transform,
const std::array< ActsScalar, 6u > &  bounds,
unsigned int  splits = 1u 
)

Helper method to build cylindrical support structure.

Parameters
transformthe transform where this cylinder should be located
boundsthe boundary values: r, halfZ, halfPhi, avgPhi, bevell parameters
splitsthe number of surfaces through which the surface is approximated (1u ... cylinder)
Returns
a vector of surfaces that represent this support

Definition at line 26 of file SupportHelper.cpp.

View newest version in sPHENIX GitHub at line 26 of file SupportHelper.cpp

References Acts::Test::maxPhi, Acts::Test::minPhi, ActsTests::PropagationDatasets::phi, physmon_track_finding_ttbar::r, sTransform, and physmon_ckf_tracking::u.

Referenced by addSupport(), and BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function:

std::vector< std::shared_ptr< Acts::Surface > > Acts::Experimental::detail::SupportHelper::discSupport ( const Transform3 &  transform,
const std::array< ActsScalar, 4u > &  bounds,
unsigned int  splits = 1u 
)

Helper method to build disc support structure.

Parameters
transformthe transform where this disc should be located
boundsthe boundary values: minR, maxR, halfPhi, avgPhi
splitsthe number of surfaces through which the surface is approximated (1u ... disc)
Returns
a vector of surfaces that represent this support

Definition at line 81 of file SupportHelper.cpp.

View newest version in sPHENIX GitHub at line 81 of file SupportHelper.cpp

References Acts::Test::maxPhi, maxR, Acts::Test::minPhi, minR, ActsTests::PropagationDatasets::phi, sTransform, and physmon_ckf_tracking::u.

Referenced by addSupport(), and BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function: