ATLAS Offline Software
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
ActsTrk Namespace Reference

The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout geometry to cache the final transformations of the sensor surfaces associated to one particular detector technology (Pixel, Sct, etc.). More...

Namespaces

 Cache
 
 detail
 Athena definition of the Eigen plugin.
 
 details
 
 ParticleHypothesis
 
 ScoreBasedSolverCutsImpl
 

Classes

class  ActsInspectTruthContentAlg
 
class  ActsSeed
 
class  ActsToTrkConverterTool
 
class  ActsToTrkConvertorAlg
 
class  ActsToXAODTrackConverterAlg
 
class  ActsTrackStateOnSurfaceDecoratorAlg
 
class  ActsVolumeIdToDetectorElementCollectionMap
 
class  ActsVolumeIdToDetectorElementCollectionMappingAlg
 
class  AdaptiveMultiPriVtxFinderTool
 
class  AlignStoreProviderAlg
 
class  AmbiguityResolutionAlg
 
class  AuxiliaryMeasurementHandler
 Utility class to handle the creation of the Auxiliary measurement used in an Acts track fit This class declares the additionally written xAOD::AuxiliaryMeasurementContainers to the AvalancheScheduler. More...
 
class  CaloBasedRoICreatorTool
 
class  ClusterizationAlg
 
class  ConstTrackContainerHandlesHelper
 
class  CoreStripSpacePointFormationTool
 
struct  DataLinkHolder
 
class  DataPreparationAlg
 
class  DetectorAlignCondAlg
 
class  DetectorAlignStore
 
struct  DetectorElementToActsGeometryIdMap
 
class  DetectorVolumeSvc
 
class  DummyRDOList
 
class  EstimatedTrackParamsAnalysisAlg
 
class  FullScanRoICreatorTool
 
class  GaussianSumFitterTool
 
class  GbtsSeedingTool
 
class  GeometryContextAlg
 
class  GlobalChiSquareFitterTool
 
class  GridTripletSeedingAlg
 
class  GridTripletSeedingTool
 
struct  has_rdoList
 
struct  has_rdoList< Object, std::void_t< rdoListFunc_t< Object > > >
 
class  HgtdClusterAnalysisAlg
 
class  HgtdClusterDataPreparationAlg
 
class  HgtdClusteringTool
 
class  HgtdClusterizationAlg
 
class  HgtdClusterToTruthAssociationAlg
 
class  HgtdClusterValidationPlots
 
class  HgtdTimedClusteringTool
 
class  HGTDTrackExtensionAlg
 
class  HGTDTruthTrackDecorationAlg
 
class  HitCounterArray
 
class  HitCountsPerTrack
 Container for hit counts per track Contains hit counts per associated truth particle and the total hit counts As last element in the container. More...
 
class  IActsToTrkConverterTool
 Conversion tool interface to translate surfaces & track parameters between the Acts & Trk realm. More...
 
class  IBlueprintNodeBuilder
 Interface for the Blueprint node builder This interface is used to build a Blueprint node for the Acts tracking geometry. More...
 
class  IDetectorElement
 Base class interface for the actual readout elements. More...
 
class  IDetectorElementBase
 base class interface providing the bare minimal interface extension. More...
 
class  IDetectorVolumeBuilderTool
 
class  IDetectorVolumeSvc
 Interface of the service providing the Acts::Detector which implements the navigation delegate paradigm and eventually replace the legacy tracking geometry. More...
 
class  IFitterTool
 Generic interface class to fit xAOD::Uncalibrated measurements to (multi)-trajectories. More...
 
class  IHGTDClusteringTool
 
class  IMeasurementSelector
 
class  IndexingPolicy
 
class  IOnBoundStateCalibratorTool
 
class  IOnTrackCalibratorTool
 
class  IPixelClusteringTool
 
class  IPixelSpacePointFormationTool
 
class  IProtoTrackCreatorTool
 
class  IRoICreatorTool
 
class  ISeedingTool
 
class  IStripClusteringTool
 
class  IStripSpacePointFormationTool
 
class  IterativePriVtxFinderTool
 
class  ITkAlignMonResidualsAlg
 
class  ITkAnalogueClusteringTool
 
class  ItkBlueprintNodeBuilder
 Helper class to build the ItkBlueprint node It adds the system as a node to the Blueprint. More...
 
class  ITrackingGeometryTool
 Geometry helper tool extending the Tracking geometry service by the data dependency to fetch the geometry context from StoreGate. More...
 
class  ITrackParamsEstimationTool
 
class  KalmanFitterTool
 
struct  MeasurementCalibrator2
 
struct  MeasurementParameterMap
 
class  MeasurementToTrackParticleDecorationAlg
 
class  MeasurementToTruthAssociationAlg
 Algorithm template to associate measurements of a certain type to a xAOD truth particles using a sim data collection where the sim data collection contains associates RDOs to truth particles and there energy/charge disposition. More...
 
class  MeasurementToTruthParticleAssociation
 
class  MSTrackingVolumeBuilder
 
class  MultiTrajectory
 Read only version of MTJ The implementation is separate as the details are significantly different and in addition only const methods are ever needed. More...
 
class  MuonBlueprintNodeBuilder
 Helper class to build a Blueprint node of the muon system. More...
 
class  MuonDetectorBuilderTool
 
class  MuonDetectorNavTest
 
class  MutableMultiTrajectory
 Athena implementation of ACTS::MultiTrajectory (ReadWrite version) The data is stored in 4 external backends. More...
 
struct  MutablePersistentTrackContainer
 
class  MutableTrackContainerHandlesHelper
 
class  MutableTrackSummaryContainer
 
class  NoDeletePtr
 
class  OrthogonalSeedingTool
 
class  PersistentTrackContainer
 
class  PhysValTool
 
class  PixelCacheClusterizationAlg
 
class  PixelCacheSpacePointFormationAlg
 
class  PixelClusterAnalysisAlg
 
class  PixelClusterCacheDataPreparationAlg
 
class  PixelClusterDataPreparationAlg
 
class  PixelClusteringTool
 
class  PixelClusterizationAlg
 
class  PixelClusterSiHitDecoratorAlg
 
class  PixelClusterToTruthAssociationAlg
 
class  PixelClusterTruthDecoratorAlg
 
class  PixelClusterValidationPlots
 
class  PixelSpacePointFormationAlg
 
class  PixelSpacePointFormationAlgBase
 
class  PixelSpacePointFormationTool
 
class  PixelSpacePointValidationPlots
 
class  PrdAssociationAlg
 
class  PrepRawDataAssociation
 
struct  ProtoTrack
 
class  ProtoTrackCreationAndFitAlg
 
class  ProtoTrackReportingAlg
 Very lightweight algorithm to print out the results of the EF track finding. More...
 
class  RandomProtoTrackCreatorTool
 
class  ReFitterAlg
 
class  RegionsOfInterestCreatorAlg
 
class  ScoreBasedAmbiguityResolutionAlg
 
class  SeedAnalysisAlg
 
class  SeedingAlg
 
class  SeedingAlgorithmAnalysisAlg
 
class  SeedingTool
 
class  SeedsToTrackParamsAlg
 
class  SeedToTrackAnalysisAlg
 
class  SeedToTrackCnvAlg
 
class  SimpleCylinderDetBuilderTool
 
class  SiSpacePointsSeedMaker
 
class  SpacePointAnalysisAlg
 
class  SpacePointCacheDataPreparationAlg
 
class  SpacePointCollector
 
class  SpacePointDataPreparationAlg
 
class  StripCacheClusterizationAlg
 
class  StripCacheSpacePointFormationAlg
 
class  StripClusterAnalysisAlg
 
class  StripClusterCacheDataPreparationAlg
 
class  StripClusterDataPreparationAlg
 
class  StripClusteringTool
 
class  StripClusterizationAlg
 
class  StripClusterSiHitDecoratorAlg
 
class  StripClusterToTruthAssociationAlg
 
class  StripClusterTruthDecoratorAlg
 
class  StripClusterValidationPlots
 
class  StripInformationHelper
 
struct  StripSP
 
class  StripSpacePointFormationAlg
 
class  StripSpacePointFormationAlgBase
 
class  StripSpacePointFormationTool
 
class  StripSpacePointValidationPlots
 
class  SurfaceCache
 : Helper class to connect the aligned transformations of each active sensor(layer) with the Acts::Surfaces. More...
 
class  TestRoICreatorTool
 
class  TrackAnalysisAlg
 
class  TrackContainer
 
class  TrackContainerReader
 
class  TrackExtensionAlg
 
class  TrackFindingAlg
 
class  TrackFindingBaseAlg
 
class  TrackFindingValidationAlg
 
class  TrackParamsEstimationTool
 
class  TrackParticleAnalysisAlg
 
class  TrackParticleTruthDecorationAlg
 
class  TrackStatePrinterTool
 
class  TrackSummaryContainer
 
class  TrackToTrackParticleCnvAlg
 
class  TrackToTruthAssociationAlg
 
class  TrackToTruthParticleAssociation
 
class  TrackTruthMatchingBaseAlg
 
class  TransformCache
 
class  TransformCacheDetEle
 
class  TrkToActsConvertorAlg
 Algorithm convert Trk::Track to ACTS multistate objects. More...
 
class  TruthGuidedProtoTrackCreatorTool
 
class  TruthParticleHitCountAlg
 

Typedefs

using volumePtr = std::unique_ptr< Acts::TrackingVolume >
 
using surfacePtr = std::shared_ptr< Acts::Surface >
 
using MuonChamberSet = MuonGMR4::MuonDetectorManager::MuonChamberSet
 
using StIdx = Muon::MuonStationIndex::StIndex
 
using StripLayerPtr = GeoModel::TransientConstSharedPtr< MuonGMR4::StripLayer >
 
using IndexType = std::uint32_t
 
using ParticleVector = boost::container::small_vector< const xAOD::TruthParticle *, NTruthParticlesPerMeasurement >
 
using StoredSurface = std::variant< const Acts::Surface *, std::shared_ptr< const Acts::Surface > >
 
using MutablePersistentTrackBackend = ActsTrk::MutableTrackSummaryContainer
 
using PersistentTrackBackend = ActsTrk::TrackSummaryContainer
 
using MutablePersistentTrackStateBackend = ActsTrk::MutableMultiTrajectory
 
using PersistentTrackStateBackend = ActsTrk::MultiTrajectory
 
using PersistentTrackContainerBase = Acts::TrackContainer< ActsTrk::PersistentTrackBackend, ActsTrk::PersistentTrackStateBackend, ActsTrk::DataLinkHolder >
 
typedef std::vector< ActsTrk::ProtoTrackProtoTrackCollection
 
typedef ActsSeed< xAOD::SpacePoint, 3ul > Seed
 
typedef DataVector< ActsTrk::SeedSeedContainer
 
using TrackBackend = Acts::ConstVectorTrackContainer
 
using MutableTrackBackend = Acts::VectorTrackContainer
 
using TrackStateBackend = Acts::ConstVectorMultiTrajectory
 
using MutableTrackStateBackend = Acts::VectorMultiTrajectory
 
using TrackContainerBase = Acts::TrackContainer< TrackBackend, TrackStateBackend, Acts::detail::ValueHolder >
 
using MutableTrackContainer = Acts::TrackContainer< MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder >
 
typedef DataVector< Acts::BoundTrackParameters > BoundTrackParametersContainer
 
using ConstParameters = Acts::TrackStateTraits< 3 >::Parameters
 
using ConstCovariance = Acts::TrackStateTraits< 3 >::Covariance
 
using Parameters = Acts::TrackStateTraits< 3, false >::Parameters
 
using Covariance = Acts::TrackStateTraits< 3, false >::Covariance
 
using TruthParticleHitCounts = std::unordered_map< const xAOD::TruthParticle *, HitCounterArray >
 
using ATLASSourceLink = const Trk::MeasurementBase *
 
using ATLASUncalibSourceLink = const xAOD::UncalibratedMeasurement *
 
using DetectorElementKey = unsigned int
 
using TicketCounterArr = DetectorAlignStore::TrackingAlignStore::TicketCounterArr
 
using ReturnedTicketArr = DetectorAlignStore::TrackingAlignStore::ReturnedTicketArr
 
using ReturnedHintArr = DetectorAlignStore::TrackingAlignStore::ReturnedHintArr
 
using SurfaceCacheSet = std::set< std::unique_ptr< SurfaceCache >, std::less<> >
 
using AtlUncalibSourceLinkAccessor = detail::UncalibSourceLinkAccessor
 
using DefaultTrackStateCreator = Acts::TrackStateCreator< ActsTrk::detail::UncalibSourceLinkAccessor::Iterator, detail::RecoTrackContainer >
 
template<typename Object >
using rdoListFunc_t = decltype(std::declval< Object >().rdoList())
 

Enumerations

enum  NeighbourIndices {
  ThisOne, Opposite, PhiMinus, PhiPlus,
  EtaMinus, EtaPlus, nNeighbours
}
 Total number of neightbours and indices. More...
 
enum  DetectorType : unsigned short {
  DetectorType::Pixel, DetectorType::Sct, DetectorType::Trt, DetectorType::Hgtd,
  DetectorType::Mdt, DetectorType::Rpc, DetectorType::Tgc, DetectorType::Csc,
  DetectorType::Mm, DetectorType::sTgc, DetectorType::UnDefined
}
 Simple enum to Identify the Type of the ACTS sub detector. More...
 

Functions

std::string objFileName (std::string str)
 
Acts::CalibrationContext getCalibrationContext (const EventContext &ctx)
 The Acts::Calibration context is piped through the Acts fitters to (re)calibrate the Acts::SourceLinks during the track State upate. More...
 
template<typename IFACE , typename AUX >
std::unique_ptr< IFACE > makeInterfaceContainer (const AUX *aux)
 helper to construct interface container for already filled Aux container TODO maybe should be moved to xAOD area More...
 
template<typename... args_t>
 requires (sizeof...(args_t)==N) &&(std
 
template<typename arg_t >
 requires (N !=1) ActsSeed< external_spacepoint_t
 
std::string prefixFromTrackContainerName (const std::string &tracks)
 Parse TrackContainer name to get the prefix for backends The name has to contain XYZTracks, the XYZ is returned. More...
 
const xAOD::UncalibratedMeasurementgetUncalibratedMeasurement (const ATLASUncalibSourceLink &source_link)
 
ATLASUncalibSourceLink makeATLASUncalibSourceLink (const xAOD::UncalibratedMeasurementContainer *container, std::size_t index, [[maybe_unused]] const EventContext &ctx)
 
ATLASUncalibSourceLink makeATLASUncalibSourceLink ([[maybe_unused]] const xAOD::UncalibratedMeasurementContainer *container, const xAOD::UncalibratedMeasurement *measurement, [[maybe_unused]] const EventContext &ctx)
 
ATLASUncalibSourceLink makeATLASUncalibSourceLink (const xAOD::UncalibratedMeasurementContainer *container, std::size_t index)
 
ATLASUncalibSourceLink makeATLASUncalibSourceLink (const xAOD::UncalibratedMeasurement *measurement)
 
float localXFromSourceLink (const ATLASUncalibSourceLink &source_link)
 
float localYFromSourceLink (const ATLASUncalibSourceLink &source_link)
 
DetectorElementKey makeDetectorElementKey (xAOD::UncalibMeasType meas_type, unsigned int identifier_hash)
 
Acts::GeometryIdentifier getSurfaceGeometryIdOfMeasurement (const DetectorElementToActsGeometryIdMap &detector_element_to_geoid, const xAOD::UncalibratedMeasurement &measurement)
 
std::string to_string (const DetectorType &type)
 
bool operator< (const std::unique_ptr< SurfaceCache > &a, const std::unique_ptr< SurfaceCache > &b)
 Comparison operators. More...
 
bool operator< (const IdentifierHash &a, const std::unique_ptr< SurfaceCache > &b)
 
bool operator< (const std::unique_ptr< SurfaceCache > &a, const IdentifierHash &b)
 
void encodeSurface (xAOD::TrackSurfaceAuxContainer *backend, size_t index, const Acts::Surface *surface, const Acts::GeometryContext &geoContext)
 Prepares persistifiable representation of surface into xAOD::TrackSurface object. More...
 
void encodeSurface (xAOD::TrackSurface *backend, const Acts::Surface *surface, const Acts::GeometryContext &geoContext)
 As above, but works on xAOD::TrackSurface object. More...
 
std::shared_ptr< const Acts::Surface > decodeSurface (const xAOD::TrackSurface *backend)
 Creates transient Acts Surface objects given a surface backend implementation should be exact mirror of encodeSurface. More...
 
std::shared_ptr< const Acts::Surface > decodeSurface (const xAOD::TrackSurfaceAuxContainer *backend, size_t i)
 As above, but takes data from Aux container at an index i. More...
 
void encodeSurface (xAOD::SurfaceType &surfaceType, std::vector< float > &translation, std::vector< float > &rotation, std::vector< float > &boundValues, const Acts::Surface *surface, const Acts::GeometryContext &geoContext)
 
std::shared_ptr< const Acts::Surface > decodeSurface (const xAOD::SurfaceType surfaceType, const std::vector< float > &translation, const std::vector< float > &rotation, const std::vector< float > &boundValues)
 
Acts::Logging::Level actsLevelVector (MSG::Level lvl)
 
MSG::Level athLevelVector (Acts::Logging::Level lvl)
 
constexpr double energyToActs (const double athenaE)
 Converts an energy scalar from Athena to Acts units. More...
 
constexpr double energyToAthena (const double actsE)
 Converts an energy scalar from Acts to Athena units. More...
 
constexpr double lengthToActs (const double athenaL)
 Converts a length scalar from Acts to Athena units. More...
 
constexpr double lengthToAthena (const double actsL)
 Converts a length scalar from Acts to Athena units. More...
 
constexpr double timeToActs (const double athenaT)
 Converts a time unit from Athena to Acts units. More...
 
constexpr double timeToAthena (const double actsT)
 Converts a time unit from Acts to Athena units. More...
 
Acts::Vector3 convertDirToActs (const Amg::Vector3D &athenaDir)
 Converts a direction vector from athena units into acts units. More...
 
Amg::Vector3D convertDirFromActs (const Acts::Vector3 &actsDir)
 Converts a direction vector from acts units into athena units. More...
 
Acts::Vector4 convertPosToActs (const Amg::Vector3D &athenaPos, const double athenaTime=0.)
 Converts a position vector & time from Athena units into Acts units. More...
 
std::pair< Amg::Vector3D, double > convertPosFromActs (const Acts::Vector4 &actsPos)
 Converts an Acts 4-vector into a pair of an Athena spatial vector and the passed time. More...
 
Acts::Vector4 convertMomToActs (const Amg::Vector3D &threeMom, const double mass=0.)
 Converts a three momentum vector from Athena together with the associated particle mass into an Acts four-momentum vector. More...
 
std::pair< Amg::Vector3D, double > convertMomFromActs (const Acts::Vector4 &actsMom)
 Converts an Acts four-momentum vector into an pair of an Athena three-momentum and the paritcle's energy. More...
 
template<typename T >
std::underlying_type_t< T > to_underlying (T val)
 
template<class T_Cont , class T >
std::vector< SG::WriteDecorHandle< T_Cont, T > > createDecorators (const std::vector< SG::WriteDecorHandleKey< T_Cont > > &keys, const EventContext &ctx)
 
template<class T_Parent , class T_Cont >
void createDecoratorKeys (T_Parent &parent, const SG::ReadHandleKey< T_Cont > &container_key, const std::string &prefix, const std::vector< std::string > &decor_names, std::vector< SG::WriteDecorHandleKey< T_Cont > > &decor_out)
 
template<class T >
auto getRDOList (const T &a)
 
template<class T_TruthEventCollection >
auto makeDepositToTruthParticleMap (const T_TruthEventCollection *truth_particle_links)
 
template<class T_TruthEventCollection >
const char * getInTruthPropertyName ()
 
template<class T_SimDataCollection , class T_SimDataIterator >
auto getSimDataDeposits (const T_SimDataCollection &sim_data_collection, T_SimDataIterator sim_data_iter_for_identifier)
 
template<class T_Deposit >
float getDepositedEnergy (const T_Deposit &)
 
MsgStream & operator<< (MsgStream &out, const ActsUtils::Stat &stat)
 

Variables

constexpr double ONE_TWELFTH = 1./12.
 
constexpr unsigned int NTruthParticlesPerMeasurement = 5
 
constexpr unsigned int NHitCounter = static_cast< std::underlying_type<xAOD::UncalibMeasType>::type >(xAOD::UncalibMeasType::nTypes)
 
constexpr unsigned int NTruthParticlesPerTrack = 5
 
constexpr unsigned int DETELEMENT_TYPE_SHIFT = 28
 
constexpr unsigned int DETELEMENT_HASH_MASK = ~(1u<<31|1u<<30|1u<<29|1u<<28)
 
constexpr bool TrackToTruthParticleAssociationDebugHists = false
 
constexpr bool TrackFindingValidationDebugHists = false
 
constexpr bool TrackFindingValidationDetailedStat = true
 
constexpr bool TruthParticleHitCountDebugHists = false
 

Detailed Description

The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout geometry to cache the final transformations of the sensor surfaces associated to one particular detector technology (Pixel, Sct, etc.).

copied from InDetPhysValMonitoring/src/safeDecorator.h

Put athena Eigen inlcude first.

: The NoDeletePtr is a shared_ptr with disabled deleter.

Header file to manage the common inlcudes.

Includes the GeoPrimitives.

Load ATLAS Eigen library with custom geometry functions.

Put first the GeoPrimitives.

small non-persistent data class to wrap the output of the EF-tracking development pattern finding placeholder

The DetectorAlignCondAlg loads the rigid alignment corrections and pipes them through the readout geometry to cache the final transformations of the sensor surfaces associated to one particular detector technology (Pixel, Sct, etc.).

The transformations are cached in the DetectorAlignmentStore which is later propagated to the ActsGeometryContext.

The ActsFromGeoAlignStore is an adaptor to go from the GeoModel world caching the rigid transformations of the detector elements to the Acts world where transformations

Then load the Acts TypeDef definitions for Eigen

In AthSimulation, the Acts core library is not available yet

ATLAS extension of the Acts::DetectorElementBase. The extension provides extra methods to identify the element within the ATLAS identifier scheme and also the enum indicating to which tracking subsystem the DetectorElement belongs to. Finally, the detector element provides the interface to optionally precache the aligned transformations in the external AlignmentStore of the geometry context.

forward declarations of the classes defined in the package

Typedef Documentation

◆ ATLASSourceLink

Definition at line 23 of file ATLASSourceLink.h.

◆ ATLASUncalibSourceLink

Definition at line 24 of file ATLASSourceLink.h.

◆ AtlUncalibSourceLinkAccessor

Definition at line 43 of file TrackFindingAlg.h.

◆ BoundTrackParametersContainer

typedef DataVector< Acts::BoundTrackParameters > ActsTrk::BoundTrackParametersContainer

◆ ConstCovariance

using ActsTrk::ConstCovariance = typedef Acts::TrackStateTraits<3>::Covariance

◆ ConstParameters

using ActsTrk::ConstParameters = typedef Acts::TrackStateTraits<3>::Parameters

◆ Covariance

using ActsTrk::Covariance = typedef Acts::TrackStateTraits<3, false>::Covariance

◆ DefaultTrackStateCreator

Definition at line 44 of file TrackFindingAlg.h.

◆ DetectorElementKey

using ActsTrk::DetectorElementKey = typedef unsigned int

Definition at line 19 of file DetectorElementToActsGeometryIdMap.h.

◆ IndexType

typedef std::uint32_t ActsTrk::IndexType

Definition at line 14 of file Decoration.h.

◆ MuonChamberSet

Definition at line 42 of file MuonBlueprintNodeBuilder.h.

◆ MutablePersistentTrackBackend

Definition at line 14 of file PersistentTrackContainer.h.

◆ MutablePersistentTrackStateBackend

Definition at line 16 of file PersistentTrackContainer.h.

◆ MutableTrackBackend

using ActsTrk::MutableTrackBackend = typedef Acts::VectorTrackContainer

Definition at line 15 of file TrackContainer.h.

◆ MutableTrackContainer

using ActsTrk::MutableTrackContainer = typedef Acts::TrackContainer<MutableTrackBackend, MutableTrackStateBackend, Acts::detail::ValueHolder>

Definition at line 24 of file TrackContainer.h.

◆ MutableTrackStateBackend

using ActsTrk::MutableTrackStateBackend = typedef Acts::VectorMultiTrajectory

Definition at line 17 of file TrackContainer.h.

◆ Parameters

using ActsTrk::Parameters = typedef Acts::TrackStateTraits<3, false>::Parameters

◆ ParticleVector

using ActsTrk::ParticleVector = typedef boost::container::small_vector<const xAOD::TruthParticle *, NTruthParticlesPerMeasurement>

Definition at line 17 of file MeasurementToTruthParticleAssociation.h.

◆ PersistentTrackBackend

Definition at line 15 of file PersistentTrackContainer.h.

◆ PersistentTrackContainerBase

Definition at line 28 of file PersistentTrackContainer.h.

◆ PersistentTrackStateBackend

Definition at line 17 of file PersistentTrackContainer.h.

◆ ProtoTrackCollection

Definition at line 12 of file ProtoTrackCollection.h.

◆ rdoListFunc_t

template<typename Object >
using ActsTrk::rdoListFunc_t = typedef decltype(std::declval<Object>().rdoList())

Definition at line 94 of file MeasurementToTruthAssociationAlg.h.

◆ ReturnedHintArr

Definition at line 16 of file DetectorAlignStore.cxx.

◆ ReturnedTicketArr

Definition at line 15 of file DetectorAlignStore.cxx.

◆ Seed

Definition at line 87 of file Seed.h.

◆ SeedContainer

Definition at line 12 of file SeedContainer.h.

◆ StIdx

Definition at line 43 of file MuonBlueprintNodeBuilder.h.

◆ StoredSurface

using ActsTrk::StoredSurface = typedef std::variant<const Acts::Surface*, std::shared_ptr<const Acts::Surface> >

Definition at line 66 of file MultiTrajectory.h.

◆ StripLayerPtr

Definition at line 65 of file MuonDetectorBuilderTool.cxx.

◆ SurfaceCacheSet

using ActsTrk::SurfaceCacheSet = typedef std::set<std::unique_ptr<SurfaceCache>, std::less<> >

◆ surfacePtr

typedef std::shared_ptr< Acts::Surface > ActsTrk::surfacePtr

Definition at line 41 of file MuonBlueprintNodeBuilder.h.

◆ TicketCounterArr

Definition at line 14 of file DetectorAlignStore.cxx.

◆ TrackBackend

using ActsTrk::TrackBackend = typedef Acts::ConstVectorTrackContainer

Definition at line 14 of file TrackContainer.h.

◆ TrackContainerBase

using ActsTrk::TrackContainerBase = typedef Acts::TrackContainer<TrackBackend, TrackStateBackend, Acts::detail::ValueHolder>

Definition at line 20 of file TrackContainer.h.

◆ TrackStateBackend

using ActsTrk::TrackStateBackend = typedef Acts::ConstVectorMultiTrajectory

Definition at line 16 of file TrackContainer.h.

◆ TruthParticleHitCounts

Definition at line 19 of file TruthParticleHitCounts.h.

◆ volumePtr

typedef std::shared_ptr< DetectorVolume > ActsTrk::volumePtr

Definition at line 40 of file MuonBlueprintNodeBuilder.h.

Enumeration Type Documentation

◆ DetectorType

enum ActsTrk::DetectorType : unsigned short
strong

Simple enum to Identify the Type of the ACTS sub detector.

Enumerator
Pixel 

Inner detector legacy.

Sct 
Trt 

Maybe the Sct / Pixel for Itk become seperate entries?

Hgtd 
Mdt 

MuonSpectrometer.

Rpc 

Monitored Drift Tubes.

Tgc 

Resitive Plate Chambers.

Csc 

Thin gap champers.

Mm 

Maybe not needed in the migration.

sTgc 

Micromegas (NSW)

UnDefined 

Small Thing Gap chambers (NSW)

Definition at line 17 of file GeometryDefs.h.

17  : unsigned short {
19  Pixel,
20  Sct,
22  Trt,
23  Hgtd,
25  Mdt,
26  Rpc,
27  Tgc,
28  Csc,
29  Mm,
30  sTgc,
31  UnDefined
32  };

◆ NeighbourIndices

Total number of neightbours and indices.

Enumerator
ThisOne 
Opposite 
PhiMinus 
PhiPlus 
EtaMinus 
EtaPlus 
nNeighbours 

Definition at line 13 of file StripInformationHelper.h.

Function Documentation

◆ actsLevelVector()

Acts::Logging::Level ActsTrk::actsLevelVector ( MSG::Level  lvl)

Definition at line 9 of file LoggerUtils.cxx.

9  {
10  // MSG::NIL and MSG::ALWAYS are not available in Acts. Need to protect against these
11  // For MSG::NIL we can return a Acts::Logging::Level::FATAL;
12  // For MSG::ALWAYS we can return a Acts::Logging::Level::VERBOSE
13 
14  // Gaudi definitions are +1 w.r.t. Acts definitions
15  static const std::array<Acts::Logging::Level, 8> actsLevelVector{
16  Acts::Logging::Level::FATAL, // MSG::NIL
23  Acts::Logging::Level::VERBOSE // MSG::ALWAYS
24  };
25 
26  return actsLevelVector[static_cast<int>(lvl)];
27  }

◆ athLevelVector()

MSG::Level ActsTrk::athLevelVector ( Acts::Logging::Level  lvl)

Definition at line 29 of file LoggerUtils.cxx.

29  {
30  // All Acts log levels are available in Gaudi, no need for protections
31  static const std::array<MSG::Level, 6> athLevelVector{
33  MSG::DEBUG,
34  MSG::INFO,
35  MSG::WARNING,
36  MSG::ERROR,
38  };
39  return athLevelVector[static_cast<int>(lvl)];
40  }

◆ convertDirFromActs()

Amg::Vector3D ActsTrk::convertDirFromActs ( const Acts::Vector3 &  actsDir)
inline

Converts a direction vector from acts units into athena units.

Parameters
actsDirUnit normalized vector to convert

Definition at line 68 of file UnitConverters.h.

68  {
69  return actsDir;
70  }

◆ convertDirToActs()

Acts::Vector3 ActsTrk::convertDirToActs ( const Amg::Vector3D athenaDir)
inline

Converts a direction vector from athena units into acts units.

Parameters
athenaDirUnit normalized vector to convert

Definition at line 63 of file UnitConverters.h.

63  {
64  return athenaDir;
65  }

◆ convertMomFromActs()

std::pair<Amg::Vector3D, double> ActsTrk::convertMomFromActs ( const Acts::Vector4 &  actsMom)
inline

Converts an Acts four-momentum vector into an pair of an Athena three-momentum and the paritcle's energy.

Parameters
actsMomThe four momentum vector from Acts

Definition at line 109 of file UnitConverters.h.

109  {
111  threeMom[Amg::x] = energyToAthena(actsMom[Acts::eMom0]);
112  threeMom[Amg::y] = energyToAthena(actsMom[Acts::eMom1]);
113  threeMom[Amg::z] = energyToAthena(actsMom[Acts::eMom2]);
114  return std::make_pair(std::move(threeMom), energyToAthena(actsMom[Acts::eEnergy]));
115  }

◆ convertMomToActs()

Acts::Vector4 ActsTrk::convertMomToActs ( const Amg::Vector3D threeMom,
const double  mass = 0. 
)
inline

Converts a three momentum vector from Athena together with the associated particle mass into an Acts four-momentum vector.

Parameters
threeMomThree momentum vector in Athena units
massParticle's mass in Athena units

Definition at line 97 of file UnitConverters.h.

97  {
98  using namespace Acts::UnitLiterals;
99  Acts::Vector4 fourMom{Acts::Vector4::Zero()};
100  fourMom[Acts::eEnergy] = energyToActs(std::sqrt(threeMom.dot(threeMom) + mass*mass));
101  fourMom[Acts::eMom0] = energyToActs(threeMom.x());
102  fourMom[Acts::eMom1] = energyToActs(threeMom.y());
103  fourMom[Acts::eMom2] = energyToActs(threeMom.z());
104  return fourMom;
105  }

◆ convertPosFromActs()

std::pair<Amg::Vector3D, double> ActsTrk::convertPosFromActs ( const Acts::Vector4 &  actsPos)
inline

Converts an Acts 4-vector into a pair of an Athena spatial vector and the passed time.

Parameters
actsPosPosition from the Acts framework

Definition at line 86 of file UnitConverters.h.

86  {
88  pos[Amg::x] = lengthToAthena(actsPos[Acts::ePos0]);
89  pos[Amg::y] = lengthToAthena(actsPos[Acts::ePos1]);
90  pos[Amg::z] = lengthToAthena(actsPos[Acts::ePos2]);
91  return std::make_pair(std::move(pos), timeToAthena(actsPos[Acts::eTime]));
92  }

◆ convertPosToActs()

Acts::Vector4 ActsTrk::convertPosToActs ( const Amg::Vector3D athenaPos,
const double  athenaTime = 0. 
)
inline

Converts a position vector & time from Athena units into Acts units.

Parameters
athenaPos3D-spatial position vector to convert
athenaTimeTime counts to convert

Definition at line 74 of file UnitConverters.h.

75  {
76  Acts::Vector4 pos{Acts::Vector4::Zero()};
77  pos[Acts::eTime] = timeToActs(athenaTime);
78  pos[Acts::ePos0] = lengthToActs(athenaPos.x());
79  pos[Acts::ePos1] = lengthToActs(athenaPos.y());
80  pos[Acts::ePos2] = lengthToActs(athenaPos.z());
81  return pos;
82  }

◆ createDecoratorKeys()

template<class T_Parent , class T_Cont >
void ActsTrk::createDecoratorKeys ( T_Parent &  parent,
const SG::ReadHandleKey< T_Cont > &  container_key,
const std::string &  prefix,
const std::vector< std::string > &  decor_names,
std::vector< SG::WriteDecorHandleKey< T_Cont > > &  decor_out 
)

Definition at line 49 of file decoratorUtils.h.

53  {
54  decor_out.clear();
55  decor_out.reserve(decor_names.size());
56  for (const std::string &a_decor_name : decor_names) {
57  assert( !a_decor_name.empty() );
58  decor_out.emplace_back(container_key.key()+"."+prefix+a_decor_name);
59  // need to declare handles, otherwise the scheduler would not pick up the data dependencies
60  // introduced by the decorations
61  parent.declare(decor_out.back());
62  decor_out.back().setOwner(&parent);
63  decor_out.back().initialize().ignore();
64  }
65  }

◆ createDecorators()

template<class T_Cont , class T >
std::vector<SG::WriteDecorHandle<T_Cont,T> > ActsTrk::createDecorators ( const std::vector< SG::WriteDecorHandleKey< T_Cont > > &  keys,
const EventContext &  ctx 
)

Definition at line 31 of file decoratorUtils.h.

32  {
33  std::vector<SG::WriteDecorHandle<T_Cont,T> > out;
34  out.reserve(keys.size());
35  for( const SG::WriteDecorHandleKey<T_Cont> &a_key : keys) {
36  out.emplace_back(a_key,ctx);
37  if (not out.back().isValid()) {
38  std::stringstream msg;
39  msg << "Failed to create decorator handdle " << a_key.key();
40  throw std::runtime_error( msg.str() );
41  }
42  }
43  return out;
44  }

◆ decodeSurface() [1/3]

std::shared_ptr<const Acts::Surface> ActsTrk::decodeSurface ( const xAOD::SurfaceType  surfaceType,
const std::vector< float > &  translation,
const std::vector< float > &  rotation,
const std::vector< float > &  boundValues 
)

Definition at line 91 of file SurfaceEncoding.cxx.

93  {
94 
95  // Translation and rotation
96 
97  // create the transformation matrix
99  Amg::getTranslate3D(translation[0], translation[1], translation[2]) *
103 
104  switch (surfaceType) {
105  using enum xAOD::SurfaceType;
106  case Cone:
107  return Acts::Surface::makeShared<Acts::ConeSurface>(std::move(transform),
108  boundValues[0], boundValues[1], boundValues[2], boundValues[3]);
109  case Cylinder: {
110  // phi/2 must be slightly < Pi to avoid crashing
111  const float fixedPhi = boundValues[2] > M_PI - 0.001 ? M_PI - 0.001 : boundValues[2];
112  return Acts::Surface::makeShared<Acts::CylinderSurface>(std::move(transform),
113  boundValues[0], boundValues[1], fixedPhi, boundValues[3], boundValues[4]);
114  } case Disc:
115  return Acts::Surface::makeShared<Acts::DiscSurface>(std::move(transform),
116  boundValues[0], boundValues[1], boundValues[2]);
117  case Perigee:
118  return Acts::Surface::makeShared<Acts::PerigeeSurface>(std::move(transform));
119  case Plane: {
120  Acts::Vector2 min(boundValues[0], boundValues[1]),
121  max(boundValues[2], boundValues[3]);
122  auto rBounds = std::make_shared<const Acts::RectangleBounds>(min, max);
123  return Acts::Surface::makeShared<Acts::PlaneSurface>(std::move(transform), rBounds);
124  } case Straw:
125  return Acts::Surface::makeShared<Acts::StrawSurface>(std::move(transform),
126  boundValues[0], boundValues[1]);
127  case Curvilinear:
128  case Other:
129  THROW_EXCEPTION("EncodeSurface this type " <<static_cast<int>(surfaceType)<<
130  " of xAOD::surface cannot be converted into an Acts one");
131  }
132 
133  return nullptr;
134 }

◆ decodeSurface() [2/3]

std::shared_ptr< const Acts::Surface > ActsTrk::decodeSurface ( const xAOD::TrackSurface backend)

Creates transient Acts Surface objects given a surface backend implementation should be exact mirror of encodeSurface.

Definition at line 136 of file SurfaceEncoding.cxx.

136  {
137  return decodeSurface(s->surfaceType(), s->translation(), s->rotation(),
138  s->boundValues());
139 }

◆ decodeSurface() [3/3]

std::shared_ptr< const Acts::Surface > ActsTrk::decodeSurface ( const xAOD::TrackSurfaceAuxContainer backend,
size_t  i 
)

As above, but takes data from Aux container at an index i.

Definition at line 141 of file SurfaceEncoding.cxx.

142  {
143  return decodeSurface(s->surfaceType[i], s->translation[i], s->rotation[i],
144  s->boundValues[i]);
145 }

◆ encodeSurface() [1/3]

void ActsTrk::encodeSurface ( xAOD::SurfaceType surfaceType,
std::vector< float > &  translation,
std::vector< float > &  rotation,
std::vector< float > &  boundValues,
const Acts::Surface *  surface,
const Acts::GeometryContext &  geoContext 
)

Definition at line 20 of file SurfaceEncoding.cxx.

25  {
26  // return if surf is a nullptr
27  if (!surface) {
28  return;
29  }
30  switch (surface->type()){
31  using enum Acts::Surface::SurfaceType;
32  case Cone:
33  surfaceType = xAOD::SurfaceType::Cone;
34  break;
35  case Cylinder:
36  surfaceType = xAOD::SurfaceType::Cylinder;
37  break;
38  case Disc:
39  surfaceType = xAOD::SurfaceType::Disc;
40  break;
41  case Perigee:
42  surfaceType = xAOD::SurfaceType::Perigee;
43  break;
44  case Plane:
45  surfaceType = xAOD::SurfaceType::Plane;
46  break;
47  case Straw:
48  surfaceType = xAOD::SurfaceType::Straw;
49  break;
50  case Curvilinear:
51  surfaceType = xAOD::SurfaceType::Curvilinear;
52  break;
53  case Other:
54  surfaceType = xAOD::SurfaceType::Other;
55  break;
56  }
57 
58  Acts::RotationMatrix3 lRotation =
59  surface->transform(geoContext).rotation();
60  Acts::Vector3 eulerAngles = lRotation.eulerAngles(2, 1, 0);
61  Acts::Vector3 lTranslation = surface->center(geoContext);
62 
63  for (int i = 0; i < 3; ++i) {
64  rotation.push_back(eulerAngles[i]);
65  translation.push_back(lTranslation[i]);
66  }
67  // copy and transform double->float
68  const std::vector<double>& values = surface->bounds().values();
69  boundValues.insert(boundValues.end(), values.begin(), values.end());
70 }

◆ encodeSurface() [2/3]

void ActsTrk::encodeSurface ( xAOD::TrackSurface backend,
const Acts::Surface *  surface,
const Acts::GeometryContext &  geoContext 
)

As above, but works on xAOD::TrackSurface object.

Definition at line 79 of file SurfaceEncoding.cxx.

80  {
81  xAOD::SurfaceType surfaceType;
82  std::vector<float> translation, rotation, bounds;
83  encodeSurface(surfaceType, translation, rotation, bounds, surface, geo);
84 
85  s->setSurfaceType(surfaceType);
86  s->setTranslation(translation);
87  s->setRotation(rotation);
88  s->setBoundValues(bounds);
89 }

◆ encodeSurface() [3/3]

void ActsTrk::encodeSurface ( xAOD::TrackSurfaceAuxContainer backend,
size_t  index,
const Acts::Surface *  surface,
const Acts::GeometryContext &  geoContext 
)

Prepares persistifiable representation of surface into xAOD::TrackSurface object.

Warning
supports only few types, unhandled surface type results in a exception
  • backend - container to store surface data
  • index - index under which the data needs to be recorded

Definition at line 72 of file SurfaceEncoding.cxx.

74  {
75  encodeSurface(s->surfaceType[i], s->translation[i], s->rotation[i],
76  s->boundValues[i], surface, geo);
77 }

◆ energyToActs()

constexpr double ActsTrk::energyToActs ( const double  athenaE)
inlineconstexpr

Converts an energy scalar from Athena to Acts units.

Parameters
athenaEEnergy value to convert

Definition at line 21 of file UnitConverters.h.

21  {
22  using namespace Acts::UnitLiterals;
23  constexpr double energyCnv = 1_MeV / Gaudi::Units::MeV;
24  return energyCnv * athenaE;
25  }

◆ energyToAthena()

constexpr double ActsTrk::energyToAthena ( const double  actsE)
inlineconstexpr

Converts an energy scalar from Acts to Athena units.

Parameters
athenaEEnergy value to convert

Definition at line 28 of file UnitConverters.h.

28  {
29  using namespace Acts::UnitLiterals;
30  constexpr double energyCnv = Gaudi::Units::MeV / 1_MeV;
31  return energyCnv * actsE;
32  }

◆ getCalibrationContext()

Acts::CalibrationContext ActsTrk::getCalibrationContext ( const EventContext &  ctx)
inline

The Acts::Calibration context is piped through the Acts fitters to (re)calibrate the Acts::SourceLinks during the track State upate.

In ATLAS Athena, the EventContext is needed to access the calibration context from the conditions. This function packs the pointer of the current EventContext into a Acts::CalibrationContext

Parameters
ctxEventContext to transform into a Context

Definition at line 15 of file CalibrationContext.h.

15  {
16  return Acts::CalibrationContext{&ctx};
17  }

◆ getDepositedEnergy()

template<class T_Deposit >
float ActsTrk::getDepositedEnergy ( const T_Deposit &  )

◆ getInTruthPropertyName()

template<class T_TruthEventCollection >
const char* ActsTrk::getInTruthPropertyName ( )
inline

◆ getRDOList()

template<class T >
auto ActsTrk::getRDOList ( const T &  a)

Definition at line 109 of file MeasurementToTruthAssociationAlg.h.

109  {
110  if constexpr(has_rdoList<T>::value) {
111  return a.rdoList();
112  }
113  else {
114  return DummyRDOList(a);
115  }
116  }

◆ getSimDataDeposits()

template<class T_SimDataCollection , class T_SimDataIterator >
auto ActsTrk::getSimDataDeposits ( const T_SimDataCollection &  sim_data_collection,
T_SimDataIterator  sim_data_iter_for_identifier 
)

◆ getSurfaceGeometryIdOfMeasurement()

Acts::GeometryIdentifier ActsTrk::getSurfaceGeometryIdOfMeasurement ( const DetectorElementToActsGeometryIdMap detector_element_to_geoid,
const xAOD::UncalibratedMeasurement measurement 
)
inline

Definition at line 13 of file SurfaceOfMeasurementUtil.h.

16  {
17  DetectorElementToActsGeometryIdMap::const_iterator
18  geoid_iter = detector_element_to_geoid.find( makeDetectorElementKey(measurement.type(), measurement.identifierHash()) );
19  return geoid_iter != detector_element_to_geoid.end()
20  ? DetectorElementToActsGeometryIdMap::getValue( *geoid_iter)
21  : Acts::GeometryIdentifier{};
22  }

◆ getUncalibratedMeasurement()

const xAOD::UncalibratedMeasurement& ActsTrk::getUncalibratedMeasurement ( const ATLASUncalibSourceLink source_link)
inline

Definition at line 26 of file ATLASSourceLink.h.

26  {
27  assert(source_link);
28  return *source_link;
29  }

◆ lengthToActs()

constexpr double ActsTrk::lengthToActs ( const double  athenaL)
inlineconstexpr

Converts a length scalar from Acts to Athena units.

Parameters
athenaLLength value to convert

Definition at line 35 of file UnitConverters.h.

35  {
36  using namespace Acts::UnitLiterals;
37  constexpr double lengthCnv = 1_mm / Gaudi::Units::mm;
38  return lengthCnv * athenaL;
39  }

◆ lengthToAthena()

constexpr double ActsTrk::lengthToAthena ( const double  actsL)
inlineconstexpr

Converts a length scalar from Acts to Athena units.

Parameters
athenaLLength value to convert

Definition at line 42 of file UnitConverters.h.

42  {
43  using namespace Acts::UnitLiterals;
44  constexpr double lengthCnv = Gaudi::Units::mm / 1_mm;
45  return lengthCnv * actsL;
46  }

◆ localXFromSourceLink()

float ActsTrk::localXFromSourceLink ( const ATLASUncalibSourceLink source_link)
inline

Definition at line 53 of file ATLASSourceLink.h.

53  {
54  const xAOD::UncalibratedMeasurement &uncalib_meas = getUncalibratedMeasurement(source_link);
55  return uncalib_meas.type() == xAOD::UncalibMeasType::PixelClusterType
56  ? uncalib_meas.localPosition<2>()[Trk::locX]
57  : uncalib_meas.localPosition<1>()[Trk::locX];
58  }

◆ localYFromSourceLink()

float ActsTrk::localYFromSourceLink ( const ATLASUncalibSourceLink source_link)
inline

Definition at line 60 of file ATLASSourceLink.h.

60  {
61  const xAOD::UncalibratedMeasurement &uncalib_meas = getUncalibratedMeasurement(source_link);
62  assert(uncalib_meas.type() == xAOD::UncalibMeasType::PixelClusterType );
63  return uncalib_meas.localPosition<2>()[Trk::locY];
64  }

◆ makeATLASUncalibSourceLink() [1/4]

ATLASUncalibSourceLink ActsTrk::makeATLASUncalibSourceLink ( [[maybe_unused] ] const xAOD::UncalibratedMeasurementContainer container,
const xAOD::UncalibratedMeasurement measurement,
[[maybe_unused] ] const EventContext &  ctx 
)
inline

Definition at line 36 of file ATLASSourceLink.h.

38  {
39  assert( container == measurement->container());
40  assert( container && measurement->index() < container->size() );
41  return measurement;
42  }

◆ makeATLASUncalibSourceLink() [2/4]

ATLASUncalibSourceLink ActsTrk::makeATLASUncalibSourceLink ( const xAOD::UncalibratedMeasurement measurement)
inline

Definition at line 49 of file ATLASSourceLink.h.

49  {
50  assert(measurement && measurement->container() && measurement->index() < measurement->container()->size_v());
51  return measurement;
52  }

◆ makeATLASUncalibSourceLink() [3/4]

ATLASUncalibSourceLink ActsTrk::makeATLASUncalibSourceLink ( const xAOD::UncalibratedMeasurementContainer container,
std::size_t  index 
)
inline

Definition at line 43 of file ATLASSourceLink.h.

44  {
45  assert(container && index < container->size());
46  return container->at(index);
47  }

◆ makeATLASUncalibSourceLink() [4/4]

ATLASUncalibSourceLink ActsTrk::makeATLASUncalibSourceLink ( const xAOD::UncalibratedMeasurementContainer container,
std::size_t  index,
[[maybe_unused] ] const EventContext &  ctx 
)
inline

Definition at line 30 of file ATLASSourceLink.h.

32  {
33  assert(container && index < container->size());
34  return container->at(index);
35  }

◆ makeDepositToTruthParticleMap()

template<class T_TruthEventCollection >
auto ActsTrk::makeDepositToTruthParticleMap ( const T_TruthEventCollection *  truth_particle_links)

◆ makeDetectorElementKey()

DetectorElementKey ActsTrk::makeDetectorElementKey ( xAOD::UncalibMeasType  meas_type,
unsigned int  identifier_hash 
)
inline

Definition at line 23 of file DetectorElementToActsGeometryIdMap.h.

23  {
24  assert( sizeof(xAOD::UncalibMeasType) <= sizeof(std::size_t) );
25  assert( static_cast<std::size_t>( to_underlying(meas_type)&((~DETELEMENT_HASH_MASK)>>DETELEMENT_TYPE_SHIFT)) == static_cast<std::size_t>(meas_type));
26  assert( (identifier_hash & DETELEMENT_HASH_MASK) == identifier_hash);
27  return (to_underlying(meas_type) << DETELEMENT_TYPE_SHIFT) | (identifier_hash & DETELEMENT_HASH_MASK);
28  }

◆ makeInterfaceContainer()

template<typename IFACE , typename AUX >
std::unique_ptr<IFACE> ActsTrk::makeInterfaceContainer ( const AUX *  aux)

helper to construct interface container for already filled Aux container TODO maybe should be moved to xAOD area

Definition at line 516 of file MultiTrajectory.h.

516  {
517  auto interface = std::make_unique<IFACE>();
518  for ( size_t i = 0, sz = aux->size(); i < sz; ++i) {
519  interface->emplace_back( new std::remove_pointer_t<typename IFACE::value_type>() );
520  }
521  interface->setStore(aux);
522  return interface;
523 }

◆ objFileName()

std::string ActsTrk::objFileName ( std::string  str)
inline

Definition at line 57 of file MuonDetectorBuilderTool.cxx.

57  {
58  str = GeoStrUtils::replaceExpInString(str, " ", "_");
59  str = GeoStrUtils::replaceExpInString(str, "-", "M");
60  return std::format("{:}.obj", str);
61  }

◆ operator<() [1/3]

bool ActsTrk::operator< ( const IdentifierHash a,
const std::unique_ptr< SurfaceCache > &  b 
)
inline

Definition at line 63 of file Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h.

63  {
64  return a < b->hash();
65  }

◆ operator<() [2/3]

bool ActsTrk::operator< ( const std::unique_ptr< SurfaceCache > &  a,
const IdentifierHash b 
)
inline

Definition at line 66 of file Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h.

66  {
67  return a->hash() < b;
68  }

◆ operator<() [3/3]

bool ActsTrk::operator< ( const std::unique_ptr< SurfaceCache > &  a,
const std::unique_ptr< SurfaceCache > &  b 
)
inline

Comparison operators.

Definition at line 59 of file Tracking/Acts/ActsGeoUtils/ActsGeoUtils/SurfaceCache.h.

60  {
61  return a->hash() < b->hash();
62  }

◆ operator<<()

MsgStream & ActsTrk::operator<< ( MsgStream &  out,
const ActsUtils::Stat stat 
)
inline

Definition at line 25 of file TrackToTruthAssociationAlg.cxx.

25  {
27  return out;
28  }

◆ prefixFromTrackContainerName()

std::string ActsTrk::prefixFromTrackContainerName ( const std::string &  tracks)

Parse TrackContainer name to get the prefix for backends The name has to contain XYZTracks, the XYZ is returned.

Definition at line 20 of file TrackContainerHandlesHelper.cxx.

20  {
21  std::regex word_regex("(.*)Tracks$");
22  std::smatch match_regex;
23 
24  if ( not std::regex_search(tracks, match_regex, word_regex) or match_regex.size() < 2) {
25  throw std::runtime_error(
26  std::string("prefixFromTrackContainerName: key does not contain "
27  "Tracks in the name ") + tracks);
28  }
29 
30  return match_regex[1].str();
31 }

◆ requires() [1/2]

template<typename arg_t >
ActsTrk::requires ( N !  = 1)

◆ requires() [2/2]

template<typename... args_t>
ActsTrk::requires ( sizeof...  args_t = = N) &&

Definition at line 50 of file Seed.h.

53  : m_spacepoints({&points...}) {}

◆ timeToActs()

constexpr double ActsTrk::timeToActs ( const double  athenaT)
inlineconstexpr

Converts a time unit from Athena to Acts units.

Parameters
athenaTTime interval to convert

Definition at line 49 of file UnitConverters.h.

49  {
50  using namespace Acts::UnitLiterals;
51  constexpr double timeCnv = 1_ns / Gaudi::Units::ns;
52  return timeCnv * athenaT;
53  }

◆ timeToAthena()

constexpr double ActsTrk::timeToAthena ( const double  actsT)
inlineconstexpr

Converts a time unit from Acts to Athena units.

Parameters
actsTTime interval to convert

Definition at line 56 of file UnitConverters.h.

56  {
57  using namespace Acts::UnitLiterals;
58  constexpr double timeCnv = Gaudi::Units::ns/ 1_ns;
59  return timeCnv * actsT;
60  }

◆ to_string()

std::string ActsTrk::to_string ( const DetectorType type)
inline

Definition at line 34 of file GeometryDefs.h.

34  {
36  return "Pixel";
37  else if (type == DetectorType::Sct)
38  return "Sct";
39  else if (type == DetectorType::Trt)
40  return "Trt";
41  else if (type == DetectorType::Hgtd)
42  return "Hgtd";
43  else if (type == DetectorType::Mdt)
44  return "Mdt";
45  else if (type == DetectorType::Rpc)
46  return "Rpc";
47  else if (type == DetectorType::Tgc)
48  return "Tgc";
49  else if (type == DetectorType::Csc)
50  return "Csc";
51  else if (type == DetectorType::Mm)
52  return "Mm";
53  else if (type == DetectorType::sTgc)
54  return "sTgc";
55  return "Unknown";
56  }

◆ to_underlying()

template<typename T >
std::underlying_type_t<T> ActsTrk::to_underlying ( val)

Definition at line 14 of file ActsInspectTruthContentAlg.cxx.

15  { return static_cast< std::underlying_type_t<T> >(val); }

Variable Documentation

◆ DETELEMENT_HASH_MASK

constexpr unsigned int ActsTrk::DETELEMENT_HASH_MASK = ~(1u<<31|1u<<30|1u<<29|1u<<28)
constexpr

Definition at line 21 of file DetectorElementToActsGeometryIdMap.h.

◆ DETELEMENT_TYPE_SHIFT

constexpr unsigned int ActsTrk::DETELEMENT_TYPE_SHIFT = 28
constexpr

Definition at line 20 of file DetectorElementToActsGeometryIdMap.h.

◆ NHitCounter

constexpr unsigned int ActsTrk::NHitCounter = static_cast< std::underlying_type<xAOD::UncalibMeasType>::type >(xAOD::UncalibMeasType::nTypes)
constexpr

Definition at line 19 of file TrackToTruthParticleAssociation.h.

◆ NTruthParticlesPerMeasurement

constexpr unsigned int ActsTrk::NTruthParticlesPerMeasurement = 5
constexpr

Definition at line 14 of file MeasurementToTruthParticleAssociation.h.

◆ NTruthParticlesPerTrack

constexpr unsigned int ActsTrk::NTruthParticlesPerTrack = 5
constexpr

Definition at line 20 of file TrackToTruthParticleAssociation.h.

◆ ONE_TWELFTH

constexpr double ActsTrk::ONE_TWELFTH = 1./12.
constexpr

Definition at line 20 of file StripClusteringTool.cxx.

◆ TrackFindingValidationDebugHists

constexpr bool ActsTrk::TrackFindingValidationDebugHists = false
constexpr

Definition at line 41 of file TrackTruthMatchingBaseAlg.h.

◆ TrackFindingValidationDetailedStat

constexpr bool ActsTrk::TrackFindingValidationDetailedStat = true
constexpr

Definition at line 42 of file TrackTruthMatchingBaseAlg.h.

◆ TrackToTruthParticleAssociationDebugHists

constexpr bool ActsTrk::TrackToTruthParticleAssociationDebugHists = false
constexpr

Definition at line 42 of file TrackToTruthAssociationAlg.h.

◆ TruthParticleHitCountDebugHists

constexpr bool ActsTrk::TruthParticleHitCountDebugHists = false
constexpr

Definition at line 42 of file TruthParticleHitCountAlg.h.

SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
xAOD::UncalibratedMeasurement_v1::identifierHash
DetectorIDHashType identifierHash() const
Returns the IdentifierHash of the measurement (corresponds to the detector element IdentifierHash)
ActsTrk::EtaMinus
@ EtaMinus
Definition: StripInformationHelper.h:13
fitman.sz
sz
Definition: fitman.py:527
python.SystemOfUnits.mm
float mm
Definition: SystemOfUnits.py:98
InDetDD::Other
@ Other
Definition: DetectorDesign.h:42
vtune_athena.format
format
Definition: vtune_athena.py:14
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:18
Trk::locX
@ locX
Definition: ParamDefs.h:37
Trk::locY
@ locY
local cartesian
Definition: ParamDefs.h:38
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
index
Definition: index.py:1
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
xAOD::SurfaceType
SurfaceType
Definition: TrackingPrimitives.h:552
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
ActsTrk::DetectorType::UnDefined
@ UnDefined
Small Thing Gap chambers (NSW)
ActsTrk::energyToActs
constexpr double energyToActs(const double athenaE)
Converts an energy scalar from Athena to Acts units.
Definition: UnitConverters.h:21
Amg::y
@ y
Definition: GeoPrimitives.h:35
ActsTrk::DetectorType::Tgc
@ Tgc
Resitive Plate Chambers.
python.Constants.ERROR
int ERROR
Definition: Control/AthenaCommon/python/Constants.py:17
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:70
M_PI
#define M_PI
Definition: ActiveFraction.h:11
athena.value
value
Definition: athena.py:124
ActsTrk::actsLevelVector
Acts::Logging::Level actsLevelVector(MSG::Level lvl)
Definition: LoggerUtils.cxx:9
ActsTrk::DetectorType::Sct
@ Sct
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
ActsTrk::DetectorType::sTgc
@ sTgc
Micromegas (NSW)
ActsTrk::Opposite
@ Opposite
Definition: StripInformationHelper.h:13
Hgtd
Definition: HgtdTimedClusteringTool.cxx:10
Trk::Perigee
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:33
ActsTrk::EtaPlus
@ EtaPlus
Definition: StripInformationHelper.h:13
ActsTrk::timeToAthena
constexpr double timeToAthena(const double actsT)
Converts a time unit from Acts to Athena units.
Definition: UnitConverters.h:56
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
ActsTrk::DETELEMENT_TYPE_SHIFT
constexpr unsigned int DETELEMENT_TYPE_SHIFT
Definition: DetectorElementToActsGeometryIdMap.h:20
python.Bindings.values
values
Definition: Control/AthenaPython/python/Bindings.py:808
Amg::getRotateZ3D
Amg::Transform3D getRotateZ3D(double angle)
get a rotation transformation around Z-axis
Definition: GeoPrimitivesHelpers.h:270
python.SystemOfUnits.MeV
float MeV
Definition: SystemOfUnits.py:172
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
ActsTrk::energyToAthena
constexpr double energyToAthena(const double actsE)
Converts an energy scalar from Acts to Athena units.
Definition: UnitConverters.h:28
xAOD::Cone
@ Cone
Definition: TrackingPrimitives.h:553
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Amg::z
@ z
Definition: GeoPrimitives.h:36
ActsTrk::timeToActs
constexpr double timeToActs(const double athenaT)
Converts a time unit from Athena to Acts units.
Definition: UnitConverters.h:49
ActsTrk::lengthToAthena
constexpr double lengthToAthena(const double actsL)
Converts a length scalar from Acts to Athena units.
Definition: UnitConverters.h:42
Amg::getRotateX3D
Amg::Transform3D getRotateX3D(double angle)
get a rotation transformation around X-axis
Definition: GeoPrimitivesHelpers.h:252
xAOD::UncalibratedMeasurement_v1
Definition: UncalibratedMeasurement_v1.h:13
ActsTrk::encodeSurface
void encodeSurface(xAOD::SurfaceType &surfaceType, std::vector< float > &translation, std::vector< float > &rotation, std::vector< float > &boundValues, const Acts::Surface *surface, const Acts::GeometryContext &geoContext)
Definition: SurfaceEncoding.cxx:20
ActsUtils::dumpStat
void dumpStat(T_Stream &out, const Stat &stat)
Dump the given statistics object to the given output stream.
Definition: StatUtils.h:63
DetType::Pixel
@ Pixel
Definition: DetType.h:13
ActsTrk::DetectorType::Mm
@ Mm
Maybe not needed in the migration.
Acts
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/xAODMuonPrepData/UtilFunctions.h:17
ActsTrk::DETELEMENT_HASH_MASK
constexpr unsigned int DETELEMENT_HASH_MASK
Definition: DetectorElementToActsGeometryIdMap.h:21
xAOD::UncalibratedMeasurement_v1::type
virtual xAOD::UncalibMeasType type() const =0
Returns the type of the measurement type as a simple enumeration.
lumiFormat.i
int i
Definition: lumiFormat.py:85
ActsTrk::DetectorType::Csc
@ Csc
Thin gap champers.
xAOD::rotation
rotation
Definition: TrackSurface_v1.cxx:15
Amg::x
@ x
Definition: GeoPrimitives.h:34
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
ActsTrk::makeDetectorElementKey
DetectorElementKey makeDetectorElementKey(xAOD::UncalibMeasType meas_type, unsigned int identifier_hash)
Definition: DetectorElementToActsGeometryIdMap.h:23
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
checkCorrelInHIST.prefix
dictionary prefix
Definition: checkCorrelInHIST.py:391
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::Disc
@ Disc
Definition: TrackingPrimitives.h:555
ActsTrk::PhiPlus
@ PhiPlus
Definition: StripInformationHelper.h:13
ActsTrk::DetectorType::Trt
@ Trt
Maybe the Sct / Pixel for Itk become seperate entries?
ActsTrk::to_underlying
std::underlying_type_t< T > to_underlying(T val)
Definition: ActsInspectTruthContentAlg.cxx:14
python.Constants.WARNING
int WARNING
Definition: Control/AthenaCommon/python/Constants.py:16
SG::AuxElement::index
size_t index() const
Return the index of this element within its container.
xAOD::UncalibratedMeasurement_v1::localPosition
ConstVectorMap< N > localPosition() const
Returns the local position of the measurement.
beamspotman.stat
stat
Definition: beamspotman.py:264
ActsTrk::DetectorType::Mdt
@ Mdt
MuonSpectrometer.
xAOD::Straw
@ Straw
Definition: TrackingPrimitives.h:558
xAOD::Cylinder
@ Cylinder
Definition: TrackingPrimitives.h:554
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
xAOD::Curvilinear
@ Curvilinear
Definition: TrackingPrimitives.h:559
ActsTrk::getUncalibratedMeasurement
const xAOD::UncalibratedMeasurement & getUncalibratedMeasurement(const ATLASUncalibSourceLink &source_link)
Definition: ATLASSourceLink.h:26
ActsTrk::decodeSurface
std::shared_ptr< const Acts::Surface > decodeSurface(const xAOD::SurfaceType surfaceType, const std::vector< float > &translation, const std::vector< float > &rotation, const std::vector< float > &boundValues)
Definition: SurfaceEncoding.cxx:91
Amg::getRotateY3D
Amg::Transform3D getRotateY3D(double angle)
get a rotation transformation around Y-axis
Definition: GeoPrimitivesHelpers.h:261
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
THROW_EXCEPTION
#define THROW_EXCEPTION(MESSAGE)
Definition: throwExcept.h:10
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:16
a
TList * a
Definition: liststreamerinfos.cxx:10
ActsTrk::PhiMinus
@ PhiMinus
Definition: StripInformationHelper.h:13
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:15
ActsTrk::ThisOne
@ ThisOne
Definition: StripInformationHelper.h:13
ActsTrk::lengthToActs
constexpr double lengthToActs(const double athenaL)
Converts a length scalar from Acts to Athena units.
Definition: UnitConverters.h:35
LArCellConditions.geo
bool geo
Definition: LArCellConditions.py:46
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
DEBUG
#define DEBUG
Definition: page_access.h:11
xAOD::UncalibMeasType
UncalibMeasType
Define the type of the uncalibrated measurement.
Definition: MeasurementDefs.h:25
ActsTrk::DetectorType::Rpc
@ Rpc
Monitored Drift Tubes.
python.SystemOfUnits.s
float s
Definition: SystemOfUnits.py:147
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:13
DataVector::at
const T * at(size_type n) const
Access an element, as an rvalue.
SG::AuxElement::container
const SG::AuxVectorData * container() const
Return the container holding this element.
ActsTrk::athLevelVector
MSG::Level athLevelVector(Acts::Logging::Level lvl)
Definition: LoggerUtils.cxx:29
xAOD::Plane
@ Plane
Definition: TrackingPrimitives.h:557
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
ActsTrk::nNeighbours
@ nNeighbours
Definition: StripInformationHelper.h:13
jobOptions.points
points
Definition: jobOptions.GenevaPy8_Zmumu.py:97
SG::AuxVectorData::size_v
virtual size_t size_v() const =0
Return the size of the container.
xAOD::UncalibMeasType::PixelClusterType
@ PixelClusterType
python.SystemOfUnits.ns
float ns
Definition: SystemOfUnits.py:146
generate::Zero
void Zero(TH1D *hin)
Definition: generate.cxx:32
Amg::getTranslate3D
Amg::Transform3D getTranslate3D(const double X, const double Y, const double Z)
: Returns a shift transformation along an arbitrary axis
Definition: GeoPrimitivesHelpers.h:289