Analysis Software
Documentation for sPHENIX simulation software
|
Namespaces | |
namespace | Blueprint |
namespace | detail |
Classes | |
class | CylindricalContainerBuilder |
A dedicated container builder for cylindrical detector containers. More... | |
class | Detector |
A detector. More... | |
exception | DetectorBuilder |
Standard generic Detector builder that calls the top level component builder and transfers the result into a detector object. More... | |
struct | RootDetectorVolumes |
Container to collect root volumes for the construction of a Detector. More... | |
struct | DetectorComponent |
The currently built detector components including the constructed volumes and the current shell/coating, i.e. portals ordered in a map. More... | |
struct | ExternalStructure |
Holder struct for the external structure components required to construct a detectorVolume. More... | |
struct | InternalStructure |
Holder struct for the internal structure components of a DetectorVolume. More... | |
class | DetectorVolume |
Define a dummy detector volume. More... | |
class | DetectorVolumeFactory |
A detector volume factory which first constructs the detector volume and then constructs the portals. This ensures that the std::shared_ptr holding the detector volume is not weak when assigning to the portals. More... | |
struct | AllPortalsExtractor |
Helper extractors: all portals. More... | |
struct | AllSurfacesExtractor |
Helper extractors: all surfaces. More... | |
struct | IndexedSurfacesExtractor |
Helper extractors: indexed surfaces. More... | |
struct | AllSubVolumesExtractor |
Helper extractors: all sub volumes of a volume. More... | |
struct | IndexedSubVolumesExtractor |
Helper extractors: indexed sub volume of a volume. More... | |
class | DetectorVolumeBuilder |
A generic detector volume builder that uses an external builder for shape and portals and an internal structure builder for volume internals. More... | |
exception | GeometryIdGenerator |
This is the default implementation of the geometry id generator. More... | |
exception | IndexedRootVolumeFinderBuilder |
This is the interface for builders that create root volume finder delegates. More... | |
class | IDetectorBuilder |
This is the interface for building a Detector object. More... | |
class | IDetectorComponentBuilder |
This is the interface for detector component builders; such a builder could be a simple detector volume builder, with or without internal structure, or more complicated objects. More... | |
class | IExternalStructureBuilder |
This is the interface definition of external structure builders for DetectorVolume construction. More... | |
class | IGeometryIdGenerator |
This is the interface for generating geometry ids and assign them to detector volumes, portals and surfaces. More... | |
class | IInternalStructureBuilder |
This is the interface definition of internal structure builders for DetectorVolume construction. More... | |
class | IRootVolumeFinderBuilder |
This is the interface for builders that create root volume finder delegates. More... | |
class | ISurfacesProvider |
This is the interface for providing surfaces to the detector building process. These surfaces manly describe the sensitive detector surfaces, but also passive (i.e. material carrying) surfaces are considered. More... | |
class | KdtSurfaces |
A wrapper class around a KDTree of surfaces. More... | |
class | KdtSurfacesProvider |
Callable struct wrapper around the KDT surface structure. More... | |
class | LayerStructureBuilder |
This is a builder of layer structures to be contained within a DetectorVolume, it extends the IInternalStructureBuilder interface and provides the internal structure components of DetectorVolume objects to be constructed. More... | |
class | MultiWireStructureBuilder |
class | Portal |
struct | ProtoBinning |
Simple helper class to define a binning structure. More... | |
struct | ProtoSupport |
Support parameter definitions. More... | |
class | VolumeStructureBuilder |
class | DetectorNavigator |
struct | NoopFinder |
struct | RootVolumeFinder |
struct | TrialAndErrorVolumeFinder |
struct | IndexedDetectorVolumeExtractor |
A helper struct that allows to extrace a volume from the detector by its index. More... | |
struct | EndOfWorldImpl |
The end of world sets the volume pointer of the navigation state to nullptr, usually indicates the end of the known world, hence the name. More... | |
struct | SingleDetectorVolumeImpl |
Single volume updator, it sets the current navigation volume to the volume in question. More... | |
struct | DetectorVolumesCollection |
This holds and extracts a collection of detector volumes. Alternatively an extractor could also use the detector and its associated detector volume container for volume extraction. More... | |
struct | BoundVolumesGrid1Impl |
This is used for volumes that are indexed in a bound 1-dimensional grid, e.g. a z-spaced array, or an r-spaced array of volumes. More... | |
class | MultiLayerSurfacesUpdatorImpl |
struct | PathGridSurfacesGenerator |
class | INavigationDelegate |
struct | NavigationState |
A navigation state struct that is holding the current navigation information. More... | |
struct | DetectorVolumeFiller |
Filler of the current volume. More... | |
struct | SurfacesFiller |
Fillers and attachers for surfaces to act on the navigation state. More... | |
struct | PortalsFiller |
Fillers and attachers for portals to act on the navigation state. More... | |
class | SingleObjectImpl |
This sets a single object, e.g. single surface or single volume. More... | |
class | StaticUpdatorImpl |
This uses state less extractor and fillers to manipulate the navigation state. More... | |
class | IndexedUpdatorImpl |
This is an index grid based navigation state updator, it uses an extractor type and a filler type to handle the navigation state. More... | |
class | ChainedUpdatorImpl |
struct | AllPortalsImpl |
struct | AllPortalsAndSurfacesImpl |
struct | AdditionalSurfacesImpl |
This holds and extracts a collection of surfaces without much checking, this could be e.g. support surfaces for layer structures, e.g. More... | |
struct | Gx2FitterExtensions |
Extension struct which holds delegates to customize the KF behavior. More... | |
struct | Gx2FitterOptions |
struct | Gx2FitterResult |
class | Gx2Fitter |
class | DD4hepLayerStructure |
This class allows to generate layer structure builders for dd4hep sub detectors It performs an intermediate step by taking dd4hep::DetElemnent objects that describe a detector structure and prepares the translation of the detector element and eventual passive surfaces. More... | |
class | DD4hepVolumeStructure |
This class allows to generate volumes structure builders for dd4hep sub detectors, together with an internal structure builder, this is sufficient to build the new DetectorVolume objects. More... | |
class | LinkToVolumeImpl |
a simple link to volume struct More... | |
Typedefs | |
using | PortalReplacement = std::tuple< std::shared_ptr< Experimental::Portal >, unsigned int, Direction, std::vector< ActsScalar >, BinningValue > |
Definition of a portal replacement when building proto containers. | |
using | PortalGenerator = Delegate< std::vector< std::shared_ptr< Portal >>(const Transform3 &, const VolumeBounds &, const std::shared_ptr< DetectorVolume > &)> |
The Portal generator definition. | |
using | DetectorVolumes = std::vector< std::shared_ptr< DetectorVolume >> |
Current volumes (connected) | |
using | ProtoContainer = std::map< unsigned int, std::shared_ptr< Portal >> |
Current shell (i.e. outside portals) | |
using | DetectorBlock = std::tuple< DetectorVolumes, ProtoContainer > |
Current block (volumes and shell) | |
using | DetectorBlockBuilder = std::function< void(DetectorBlock &, const GeometryContext &, Acts::Logging::Level)> |
The detector builder function. | |
template<typename grid_type > | |
using | IndexedDetectorVolumeImpl = IndexedUpdatorImpl< grid_type, IndexedDetectorVolumeExtractor, DetectorVolumeFiller > |
An indexed volume implementation access. | |
using | SingleIndex = std::size_t |
using | VariableBoundAxis = Acts::detail::Axis< Acts::detail::AxisType::Variable, Acts::detail::AxisBoundaryType::Bound > |
using | VariableBoundIndexGrid1 = Acts::detail::Grid< SingleIndex, VariableBoundAxis > |
using | SurfaceCandidatesUpdator = OwningDelegate< void(const GeometryContext &gctx, NavigationState &nState), INavigationDelegate > |
using | DetectorVolumeUpdator = OwningDelegate< void(const GeometryContext &gctx, NavigationState &nState), INavigationDelegate > |
template<typename grid_type > | |
using | IndexedSurfacesImpl = IndexedUpdatorImpl< grid_type, IndexedSurfacesExtractor, SurfacesFiller > |
An indexed surface implementation access. | |
template<typename grid_type > | |
using | MultiLayerSurfacesImpl = MultiLayerSurfacesUpdatorImpl< grid_type, PathGridSurfacesGenerator > |
An indexed multi layer surface implementation access. | |
template<typename grid_type , template< typename > class indexed_updator> | |
using | IndexedSurfacesAllPortalsImpl = ChainedUpdatorImpl< AllPortalsImpl, indexed_updator< grid_type >> |
An indexed surface implementation with portal access. | |
Enumerations | |
enum | GlobalChiSquareFitterError |
Functions | |
std::vector< std::shared_ptr < Portal > > | generatePortals (const Transform3 &dTransform, const VolumeBounds &dBounds, const std::shared_ptr< DetectorVolume > &dVolume) noexcept(false) |
Generator function for creation of portal surfaces. | |
PortalGenerator | defaultPortalGenerator () |
std::vector< std::shared_ptr < Portal > > | generatePortalsUpdateInternals (const Transform3 &dTransform, const VolumeBounds &dBounds, const std::shared_ptr< DetectorVolume > &dVolume) noexcept(false) |
Calls the portal generation and adds registration to sub portals. | |
PortalGenerator | defaultPortalAndSubPortalGenerator () |
static DetectorVolumeUpdator | tryRootVolumes () |
Generate a delegate to try the root volumes. | |
static DetectorVolumeUpdator | tryAllSubVolumes () |
Generate a delegate to try all sub volumes. | |
static DetectorVolumeUpdator | tryNoVolumes () |
Generate a delegate to try no volume. | |
static DetectorVolumeUpdator | unconnectedUpdator () |
A dummy constructed updator. | |
void | updateCandidates (const GeometryContext &gctx, NavigationState &nState) |
static SurfaceCandidatesUpdator | tryAllPortals () |
static SurfaceCandidatesUpdator | tryAllPortalsAndSurfaces () |
template<size_t measDim, typename traj_t > | |
void | collector (typename traj_t::TrackStateProxy &trackStateProxy, Gx2FitterResult< traj_t > &result, const Logger &logger) |
std::error_code | make_error_code (Acts::Experimental::GlobalChiSquareFitterError e) |
Variables | |
static auto | s_possibleAxes |
using Acts::Experimental::DetectorBlock = typedef std::tuple<DetectorVolumes, ProtoContainer> |
Current block (volumes and shell)
Definition at line 40 of file ProtoDetector.hpp.
View newest version in sPHENIX GitHub at line 40 of file ProtoDetector.hpp
using Acts::Experimental::DetectorBlockBuilder = typedef std::function<void( DetectorBlock&, const GeometryContext&, Acts::Logging::Level)> |
The detector builder function.
Definition at line 44 of file ProtoDetector.hpp.
View newest version in sPHENIX GitHub at line 44 of file ProtoDetector.hpp
using Acts::Experimental::DetectorVolumes = typedef std::vector<std::shared_ptr<DetectorVolume>> |
Current volumes (connected)
Definition at line 36 of file ProtoDetector.hpp.
View newest version in sPHENIX GitHub at line 36 of file ProtoDetector.hpp
using Acts::Experimental::DetectorVolumeUpdator = typedef OwningDelegate<void(const GeometryContext& gctx, NavigationState& nState), INavigationDelegate> |
Declare a Detctor Volume finding or switching delegate
gctx | is the current geometry context |
nState | [in, out] is the navigation state to be updated |
Definition at line 56 of file NavigationDelegates.hpp.
View newest version in sPHENIX GitHub at line 56 of file NavigationDelegates.hpp
using Acts::Experimental::IndexedDetectorVolumeImpl = typedef IndexedUpdatorImpl<grid_type, IndexedDetectorVolumeExtractor, DetectorVolumeFiller> |
An indexed volume implementation access.
grid_type | is the grid type used for this |
Definition at line 121 of file DetectorVolumeFinders.hpp.
View newest version in sPHENIX GitHub at line 121 of file DetectorVolumeFinders.hpp
using Acts::Experimental::IndexedSurfacesAllPortalsImpl = typedef ChainedUpdatorImpl<AllPortalsImpl, indexed_updator<grid_type>> |
An indexed surface implementation with portal access.
inexed_updator | is the updator for the indexed surfaces |
Definition at line 156 of file SurfaceCandidatesUpdators.hpp.
View newest version in sPHENIX GitHub at line 156 of file SurfaceCandidatesUpdators.hpp
using Acts::Experimental::IndexedSurfacesImpl = typedef IndexedUpdatorImpl<grid_type, IndexedSurfacesExtractor, SurfacesFiller> |
An indexed surface implementation access.
grid_type | is the grid type used for this indexed lookup |
Definition at line 142 of file SurfaceCandidatesUpdators.hpp.
View newest version in sPHENIX GitHub at line 142 of file SurfaceCandidatesUpdators.hpp
using Acts::Experimental::MultiLayerSurfacesImpl = typedef MultiLayerSurfacesUpdatorImpl<grid_type, PathGridSurfacesGenerator> |
An indexed multi layer surface implementation access.
grid_type | is the grid type used for this indexed lookup |
Definition at line 149 of file SurfaceCandidatesUpdators.hpp.
View newest version in sPHENIX GitHub at line 149 of file SurfaceCandidatesUpdators.hpp
using Acts::Experimental::PortalGenerator = typedef Delegate<std::vector<std::shared_ptr<Portal>>( const Transform3&, const VolumeBounds&, const std::shared_ptr<DetectorVolume>&)> |
The Portal generator definition.
Definition at line 29 of file PortalGenerators.hpp.
View newest version in sPHENIX GitHub at line 29 of file PortalGenerators.hpp
using Acts::Experimental::PortalReplacement = typedef std::tuple<std::shared_ptr<Experimental::Portal>, unsigned int, Direction, std::vector<ActsScalar>, BinningValue> |
Definition of a portal replacement when building proto containers.
It consists of the new portal, the index, the direction, the parameters gathered from the sub volumes, the binning description
Definition at line 36 of file PortalHelper.hpp.
View newest version in sPHENIX GitHub at line 36 of file PortalHelper.hpp
using Acts::Experimental::ProtoContainer = typedef std::map<unsigned int, std::shared_ptr<Portal>> |
Current shell (i.e. outside portals)
Definition at line 38 of file ProtoDetector.hpp.
View newest version in sPHENIX GitHub at line 38 of file ProtoDetector.hpp
using Acts::Experimental::SingleIndex = typedef std::size_t |
Definition at line 67 of file DetectorVolumeUpdators.hpp.
View newest version in sPHENIX GitHub at line 67 of file DetectorVolumeUpdators.hpp
using Acts::Experimental::SurfaceCandidatesUpdator = typedef OwningDelegate<void(const GeometryContext& gctx, NavigationState& nState), INavigationDelegate> |
Declare an updator for the local navigation, i.e. the navigation inside a detector volume. This can be called either directly after a volume switch or in order to update within a volume after some progression
This delegate dispatches the local navigation action to a dedicated struct or function that is optimised for the given environment.
gctx | is the current geometry context |
nState | [in,out] is the navigation state to be updated |
Definition at line 46 of file NavigationDelegates.hpp.
View newest version in sPHENIX GitHub at line 46 of file NavigationDelegates.hpp
using Acts::Experimental::VariableBoundAxis = typedef Acts::detail::Axis<Acts::detail::AxisType::Variable, Acts::detail::AxisBoundaryType::Bound> |
Definition at line 71 of file DetectorVolumeUpdators.hpp.
View newest version in sPHENIX GitHub at line 71 of file DetectorVolumeUpdators.hpp
using Acts::Experimental::VariableBoundIndexGrid1 = typedef Acts::detail::Grid<SingleIndex, VariableBoundAxis> |
Definition at line 73 of file DetectorVolumeUpdators.hpp.
View newest version in sPHENIX GitHub at line 73 of file DetectorVolumeUpdators.hpp
Definition at line 17 of file GlobalChiSquareFitterError.hpp.
View newest version in sPHENIX GitHub at line 17 of file GlobalChiSquareFitterError.hpp
void Acts::Experimental::collector | ( | typename traj_t::TrackStateProxy & | trackStateProxy, |
Gx2FitterResult< traj_t > & | result, | ||
const Logger & | logger | ||
) |
Collector for the GX2F Actor The collector prepares each measurement for the actual fitting process. Each n-dimensional measurement is split into n 1-dimensional linearly independent measurements. Then the collector saves the following information:
measDim | Number of dimensions of the measurement |
traj_t | The trajectory type |
trackStateProxy | is the current track state |
result | is the mutable result/cache object |
logger | a logger instance |
Definition at line 231 of file GlobalChiSquareFitter.hpp.
View newest version in sPHENIX GitHub at line 231 of file GlobalChiSquareFitter.hpp
References Acts::ACTS_VERBOSE(), ACTS_WARNING, Acts::Experimental::Gx2FitterResult< traj_t >::collectorCovariances, Acts::Experimental::Gx2FitterResult< traj_t >::collectorProjectedJacobians, Acts::Experimental::Gx2FitterResult< traj_t >::collectorResiduals, Acts::UnitConstants::e, i, and Acts::Experimental::Gx2FitterResult< traj_t >::jacobianFromStart.
Acts::Experimental::PortalGenerator Acts::Experimental::defaultPortalAndSubPortalGenerator | ( | ) |
Create a default portal generator that connects to the static method.
Definition at line 87 of file PortalGenerators.cpp.
View newest version in sPHENIX GitHub at line 87 of file PortalGenerators.cpp
References generatePortalsUpdateInternals().
Referenced by BOOST_AUTO_TEST_CASE(), ActsExamples::MockupSectorBuilder::buildChamber(), and ActsExamples::MockupSectorBuilder::buildSector().
Acts::Experimental::PortalGenerator Acts::Experimental::defaultPortalGenerator | ( | ) |
Create a default portal generator that connects to the static method.
Definition at line 55 of file PortalGenerators.cpp.
View newest version in sPHENIX GitHub at line 55 of file PortalGenerators.cpp
References generatePortals().
Referenced by BOOST_AUTO_TEST_CASE(), CompBuilder::construct(), ExternalsBuilder< bounds_type >::construct(), CylindricalVolumeBuilder< surface_type, surface_bounds_type >::construct(), Acts::Experimental::VolumeStructureBuilder::construct(), InternalVolumeBuilder< bounds_type >::construct(), and Acts::DetectorVolumeJsonConverter::fromJson().
|
noexcept |
Generator function for creation of portal surfaces.
dTransform | a contextually resolved transform |
dBounds | the detecor volume bounds |
dVolume | the reference to the detector volume which generates this volume |
Definition at line 23 of file PortalGenerators.cpp.
View newest version in sPHENIX GitHub at line 23 of file PortalGenerators.cpp
References Acts::enumerate(), i, testing::internal::move(), and Acts::KalmanVertexTrackUpdater::update().
Referenced by BOOST_AUTO_TEST_CASE(), defaultPortalGenerator(), and generatePortalsUpdateInternals().
|
noexcept |
Calls the portal generation and adds registration to sub portals.
This code is split off the PortalGenerator code in order to allow unit testing of the portal generation without detector volume construction
dTransform | a contextually resolved transform |
dBounds | the detecor volume bounds |
dVolume | the reference to the detector volume which generates this volume |
Definition at line 62 of file PortalGenerators.cpp.
View newest version in sPHENIX GitHub at line 62 of file PortalGenerators.cpp
References generatePortals(), testing::internal::move(), and Acts::KalmanVertexTrackUpdater::update().
Referenced by BOOST_AUTO_TEST_CASE(), and defaultPortalAndSubPortalGenerator().
std::error_code Acts::Experimental::make_error_code | ( | Acts::Experimental::GlobalChiSquareFitterError | e | ) |
Definition at line 37 of file GlobalChiSquareFitterError.cpp.
View newest version in sPHENIX GitHub at line 37 of file GlobalChiSquareFitterError.cpp
References Acts::PhysicalConstants::c, and Acts::UnitConstants::e.
|
inlinestatic |
Generate a provider for all portals
Definition at line 98 of file SurfaceCandidatesUpdators.hpp.
View newest version in sPHENIX GitHub at line 98 of file SurfaceCandidatesUpdators.hpp
References testing::internal::move(), and Acts::Experimental::AllPortalsImpl::update().
Referenced by BOOST_AUTO_TEST_CASE(), CompBuilder::construct(), Acts::Experimental::DetectorVolumeBuilder::construct(), InternalVolumeBuilder< bounds_type >::construct(), and Acts::DetectorVolumeJsonConverter::fromJson().
|
inlinestatic |
Generate a provider for all portals and Surfacess
Definition at line 111 of file SurfaceCandidatesUpdators.hpp.
View newest version in sPHENIX GitHub at line 111 of file SurfaceCandidatesUpdators.hpp
References testing::internal::move(), and Acts::Experimental::AllPortalsAndSurfacesImpl::update().
Referenced by BOOST_AUTO_TEST_CASE(), ActsExamples::MockupSectorBuilder::buildChamber(), ActsExamples::MockupSectorBuilder::buildSector(), CompBuilder::construct(), SurfaceBuilder< surface_type >::construct(), CylindricalVolumeBuilder< surface_type, surface_bounds_type >::construct(), InternalSurfaceBuilder< surface_type, bounds_type >::construct(), Acts::Experimental::LayerStructureBuilder::construct(), and Acts::IndexedSurfacesJsonConverter::fromJson().
|
inlinestatic |
Generate a delegate to try all sub volumes.
Definition at line 79 of file DetectorVolumeFinders.hpp.
View newest version in sPHENIX GitHub at line 79 of file DetectorVolumeFinders.hpp
References Acts::Experimental::TrialAndErrorVolumeFinder::update().
Referenced by BOOST_AUTO_TEST_CASE(), ActsExamples::MockupSectorBuilder::buildChamber(), and ActsExamples::MockupSectorBuilder::buildSector().
|
inlinestatic |
Generate a delegate to try no volume.
Definition at line 87 of file DetectorVolumeFinders.hpp.
View newest version in sPHENIX GitHub at line 87 of file DetectorVolumeFinders.hpp
References Acts::Experimental::NoopFinder::update().
Referenced by BOOST_AUTO_TEST_CASE(), CompBuilder::construct(), SurfaceBuilder< surface_type >::construct(), MultiWireInternalStructureBuilder::construct(), and Acts::Experimental::LayerStructureBuilder::construct().
|
inlinestatic |
Generate a delegate to try the root volumes.
Definition at line 71 of file DetectorVolumeFinders.hpp.
View newest version in sPHENIX GitHub at line 71 of file DetectorVolumeFinders.hpp
References Acts::Experimental::RootVolumeFinder::update().
Referenced by BOOST_AUTO_TEST_CASE(), CompBuilder::construct(), CylindricalVolumeBuilder< surface_type, surface_bounds_type >::construct(), Acts::Experimental::DetectorVolumeBuilder::construct(), Acts::Experimental::CylindricalContainerBuilder::construct(), InternalVolumeBuilder< bounds_type >::construct(), Acts::DetectorJsonConverter::fromJson(), Acts::DetectorVolumeJsonConverter::fromJson(), and main().
|
inlinestatic |
A dummy constructed updator.
Definition at line 59 of file NavigationDelegates.hpp.
View newest version in sPHENIX GitHub at line 59 of file NavigationDelegates.hpp
|
inline |
Helper method to update the candidates (portals/surfaces), this can be called for initial surface/portal estimation, but also during the navigation to update the current list of candidates.
gctx | is the Geometry context of this call |
nState | [in,out] is the navigation state to be updated |
Definition at line 37 of file NavigationStateUpdators.hpp.
View newest version in sPHENIX GitHub at line 37 of file NavigationStateUpdators.hpp
References Acts::PhysicalConstants::c, Acts::Experimental::NavigationState::direction, Acts::Surface::intersect(), Acts::Experimental::NavigationState::position, position, Acts::s_onSurfaceTolerance, and Acts::Experimental::NavigationState::surfaceCandidates.
Referenced by Acts::Experimental::AllPortalsImpl::update(), Acts::Experimental::MultiLayerSurfacesUpdatorImpl< grid_t, path_generator >::update(), Acts::Experimental::AllPortalsAndSurfacesImpl::update(), and Acts::Experimental::IndexedUpdatorImpl< VariableBoundIndexGrid1, DetectorVolumesCollection, DetectorVolumeFiller >::update().
|
static |
Definition at line 36 of file IndexedSurfacesSvgConverter.hpp.
View newest version in sPHENIX GitHub at line 36 of file IndexedSurfacesSvgConverter.hpp
Referenced by Acts::Svg::IndexedSurfacesConverter::convert(), and Acts::IndexedSurfacesJsonConverter::toJson().