ATLAS Offline Software
Loading...
Searching...
No Matches
CorePixelSpacePointFormationTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ACTSTRK_DATAPREPARATION_COREPIXELSPACEPOINTFORMATIONTOOL_H
6#define ACTSTRK_DATAPREPARATION_COREPIXELSPACEPOINTFORMATIONTOOL_H
7
12
15#include "GaudiKernel/EventContext.h"
16
19
20#include <limits>
21#include <string>
22
23namespace ActsTrk {
24
31
32 class CorePixelSpacePointFormationTool : public extends<AthAlgTool, ActsTrk::IPixelSpacePointFormationTool> {
33 public:
34 using base_class::base_class;
36
37 virtual StatusCode initialize() override;
38
39 virtual StatusCode producePixelSpacePoint(const EventContext& ctx,
40 const Acts::GeometryContext& gctx,
41 const xAOD::PixelCluster& cluster,
43 const InDetDD::SiDetectorElement& element) const override;
44
45 virtual bool usesGeometryContext() const override { return true; }
46
47 private:
48
49 ServiceHandle<ActsTrk::ITrackingGeometrySvc> m_trackingGeometrySvc{this, "TrackingGeometrySvc", "ActsTrackingGeometrySvc"};
50
52
55 struct SurfaceCache {
56 Acts::RotationMatrix3 rotLocalToGlobal{Acts::RotationMatrix3::Identity()};
57 xAOD::DetectorIDHashType idHash{std::numeric_limits<xAOD::DetectorIDHashType>::max()};
58 EventContext::ContextEvt_t evt{EventContext::INVALID_CONTEXT_EVT};
59 };
61
62 Gaudi::Property<bool> m_useSurfaceCache{this, "UseSurfaceCache", true,
63 "Reuse the surface reference frame across the clusters of a module"};
64
66 Gaudi::Property<bool> m_useMaxVariance{this, "UseMaxVariance", false};
67 Gaudi::Property<float> m_maxVarianceZ{this, "MaxVarianceZ", 0.0014f};
68 Gaudi::Property<float> m_maxVarianceR{this, "MaxVarianceR", 0.015f};
69
70 };
71
72}
73
74#endif
Maintain a set of objects, one per slot.
static Double_t sp
Define macros for attributes used to control the static checker.
Pixel space point formation using Acts::PixelSpacePointBuilder for the space point covariance.
ServiceHandle< ActsTrk::ITrackingGeometrySvc > m_trackingGeometrySvc
SG::SlotSpecificObj< SurfaceCache > m_surfaceCache ATLAS_THREAD_SAFE
virtual StatusCode producePixelSpacePoint(const EventContext &ctx, const Acts::GeometryContext &gctx, const xAOD::PixelCluster &cluster, xAOD::SpacePoint &sp, const InDetDD::SiDetectorElement &element) const override
Gaudi::Property< bool > m_useMaxVariance
Cap the covariance terms, as PixelSpacePointFormationTool does.
ActsTrk::detail::xAODUncalibMeasSurfAcc m_surfaceAccessor
virtual ~CorePixelSpacePointFormationTool()=default
Helper class to access the Acts::surface associated with an Uncalibrated xAOD measurement.
Class to hold geometrical description of a silicon detector element.
Maintain a set of objects, one per slot.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
PixelCluster_v1 PixelCluster
Define the version of the pixel cluster class.
unsigned int DetectorIDHashType
@ detector ID element hash
Reference frame of the last module seen, keyed on the identifier hash and stamped with the event so a...