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

Functions

void attachDetectorVolumeUpdator (Portal &portal, const std::shared_ptr< DetectorVolume > &volume, const Direction &direction)
 Method to attach a single detector volume to a portal.
 
void attachDetectorVolumesUpdator (const GeometryContext &gctx, Portal &portal, const std::vector< std::shared_ptr< DetectorVolume >> &volumes, const Direction &direction, const std::vector< ActsScalar > &boundaries, const BinningValue &binning)
 Create and attach the multi link updator, the portal will get a volume updator attached, that points to the different sub volumes depending on the global position and binning - single assignment case.
 
void attachDetectorVolumeUpdators (const GeometryContext &gctx, const std::vector< std::shared_ptr< DetectorVolume >> &volumes, std::vector< PortalReplacement > &pReplacements)
 Create and attach the multi link updator, the portal will get a volume updator attached, that points to the different sub volumes depending on the global position and binning.
 
std::vector< std::shared_ptr
< DetectorVolume > > 
attachedDetectorVolumes (Portal &portal) noexcept(false)
 Method that strips out attached volumes from portals and provides them back to the caller.
 

Function Documentation

void Acts::Experimental::detail::PortalHelper::attachDetectorVolumesUpdator ( const GeometryContext &  gctx,
Portal &  portal,
const std::vector< std::shared_ptr< DetectorVolume >> &  volumes,
const Direction &  direction,
const std::vector< ActsScalar > &  boundaries,
const BinningValue &  binning 
)

Create and attach the multi link updator, the portal will get a volume updator attached, that points to the different sub volumes depending on the global position and binning - single assignment case.

Parameters
gctxthe geometry context
portalis the portal where the detector volume is going to be attached
volumesare the volumes that are pointed to
directionis the direction to which it is attached
boundariesare the value boundaries
binningis the binning type

Definition at line 36 of file PortalHelper.cpp.

View newest version in sPHENIX GitHub at line 36 of file PortalHelper.cpp

References Acts::Experimental::Portal::assignDetectorVolumeUpdator(), testing::internal::move(), Acts::Experimental::Portal::surface(), Acts::Surface::transform(), Acts::unpack_shared_const_vector(), Acts::KalmanVertexTrackUpdater::update(), and volumes.

Referenced by BOOST_AUTO_TEST_CASE(), and Acts::PortalJsonConverter::fromJson().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Acts::Experimental::detail::PortalHelper::attachDetectorVolumeUpdator ( Portal &  portal,
const std::shared_ptr< DetectorVolume > &  volume,
const Direction &  direction 
)

Method to attach a single detector volume to a portal.

Parameters
portalis the portal where the detector volume is going to be attached
volumeis the volume that is attached to the portal
directionis the direction to which it is attached

Definition at line 21 of file PortalHelper.cpp.

View newest version in sPHENIX GitHub at line 21 of file PortalHelper.cpp

References Acts::Experimental::Portal::assignDetectorVolumeUpdator(), testing::internal::move(), and Acts::Experimental::SingleDetectorVolumeImpl::update().

Referenced by BOOST_AUTO_TEST_CASE(), and Acts::PortalJsonConverter::fromJson().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Acts::Experimental::detail::PortalHelper::attachDetectorVolumeUpdators ( const GeometryContext &  gctx,
const std::vector< std::shared_ptr< DetectorVolume >> &  volumes,
std::vector< PortalReplacement > &  pReplacements 
)

Create and attach the multi link updator, the portal will get a volume updator attached, that points to the different sub volumes depending on the global position and binning.

Parameters
gctxthe geometry context
volumesare the volumes that are pointed to
pReplacementsare the portal replacements that are newly connected

Definition at line 53 of file PortalHelper.cpp.

View newest version in sPHENIX GitHub at line 53 of file PortalHelper.cpp

References i, testing::internal::move(), merge_hashes::p, Acts::unpack_shared_const_vector(), Acts::KalmanVertexTrackUpdater::update(), and volumes.

+ Here is the call graph for this function:

std::vector< std::shared_ptr< Acts::Experimental::DetectorVolume > > Acts::Experimental::detail::PortalHelper::attachedDetectorVolumes ( Portal &  portal)
noexcept

Method that strips out attached volumes from portals and provides them back to the caller.

Note
it throws an exception if both sides are already taken
Parameters
portalthe portal to be resolved
Returns
a vector of attached volumes

Definition at line 75 of file PortalHelper.cpp.

View newest version in sPHENIX GitHub at line 75 of file PortalHelper.cpp

References physmon_ckf_tracking::u.

Referenced by BOOST_AUTO_TEST_CASE().

+ Here is the caller graph for this function: