ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
xAOD
xAODAuxiliaryMeasurement
Root
AuxiliaryMeasurement_v1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
#include "
xAODAuxiliaryMeasurement/versions/AuxiliaryMeasurement_v1.h
"
5
#include "
xAODCore/AuxStoreAccessorMacros.h
"
6
#include "
ActsGeoUtils/SurfaceEncoding.h
"
7
8
namespace
{
9
using
SurfLink_t =
xAOD::AuxiliaryMeasurement_v1::SurfLink_t
;
10
using
ProjectorType =
xAOD::AuxiliaryMeasurement_v1::ProjectorType
;
11
static
const
SG::Accessor<SurfLink_t>
acc_surfLink{
"surfaceLink"
};
12
}
13
14
namespace
xAOD
{
15
AUXSTORE_PRIMITIVE_GETTER_WITH_CAST
(
AuxiliaryMeasurement_v1
,
char
, ProjectorType, calibProjector)
16
AUXSTORE_PRIMITIVE_SETTER_WITH_CAST
(
AuxiliaryMeasurement_v1
,
char
, ProjectorType, calibProjector, setProjector)
17
18
unsigned
AuxiliaryMeasurement_v1
::
numDimensions
()
const
{
19
switch
(
calibProjector
()){
20
using
enum
ProjectorType
;
21
case
e1DimNoTime:
22
case
e1DimRotNoTime:
23
return
1;
24
case
e2DimNoTime:
25
case
e1DimWithTime:
26
case
e1DimRotWithTime:
27
return
2;
28
case
e2DimWithTime:
29
return
3;
30
};
31
return
0;
32
}
33
34
const
SurfLink_t
&
AuxiliaryMeasurement_v1::surfaceLink
()
const
{
35
return
acc_surfLink(*
this
);
36
}
37
void
AuxiliaryMeasurement_v1::setSurface
(
const
SurfacePtr_t
& surfPtr,
38
SurfLink_t
&& link) {
39
m_surface
.reset();
40
acc_surfLink(*
this
) = std::move(link);
41
m_surface
.set(surfPtr);
42
}
43
const
AuxiliaryMeasurement_v1::SurfacePtr_t
&
44
AuxiliaryMeasurement_v1::surface
()
const
{
45
if
(!
m_surface
.isValid()) {
46
SurfLink_t
assocLink =
surfaceLink
();
47
assert(assocLink.
isValid
());
49
m_surface
.set(
ActsTrk::decodeSurface
(*assocLink));
50
}
51
return
*
m_surface
.ptr();
52
}
53
54
}
AuxStoreAccessorMacros.h
AUXSTORE_PRIMITIVE_GETTER_WITH_CAST
#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME)
Macro creating a getter function with a type conversion.
Definition
AuxStoreAccessorMacros.h:209
AUXSTORE_PRIMITIVE_SETTER_WITH_CAST
#define AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME, SETTER)
Macro creating a setter function with a type conversion.
Definition
AuxStoreAccessorMacros.h:230
AuxiliaryMeasurement_v1.h
SurfaceEncoding.h
ElementLink::isValid
bool isValid() const
Check if the element can be found.
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition
Control/AthContainers/AthContainers/Accessor.h:68
xAOD::AuxiliaryMeasurement_v1
Implementation of an uncalibrated AuxiliaryMeasurement which may serve as an external constraint in t...
Definition
AuxiliaryMeasurement_v1.h:24
xAOD::AuxiliaryMeasurement_v1::surface
const SurfacePtr_t & surface() const
Returns the reference to the Acts::Surface.
Definition
AuxiliaryMeasurement_v1.cxx:44
xAOD::AuxiliaryMeasurement_v1::SurfLink_t
ElementLink< xAOD::TrackSurfaceContainer > SurfLink_t
Surfaces are passed via xAOD::TrackSurfaces which are internally converted by the measurement class i...
Definition
AuxiliaryMeasurement_v1.h:37
xAOD::AuxiliaryMeasurement_v1::m_surface
CxxUtils::CachedValue< SurfacePtr_t > m_surface
Definition
AuxiliaryMeasurement_v1.h:61
xAOD::AuxiliaryMeasurement_v1::calibProjector
ProjectorType calibProjector() const
Returns the calibration projector.
xAOD::AuxiliaryMeasurement_v1::numDimensions
virtual unsigned numDimensions() const override final
number of dimensions
Definition
AuxiliaryMeasurement_v1.cxx:18
xAOD::AuxiliaryMeasurement_v1::surfaceLink
const SurfLink_t & surfaceLink() const
Returns the link to the associated xAOD::TrackSurface.
Definition
AuxiliaryMeasurement_v1.cxx:34
xAOD::AuxiliaryMeasurement_v1::ProjectorType
ActsTrk::detail::MeasurementCalibratorBase::ProjectorType ProjectorType
Use the calibration projector.
Definition
AuxiliaryMeasurement_v1.h:54
xAOD::AuxiliaryMeasurement_v1::setSurface
void setSurface(const SurfacePtr_t &surfPtr, SurfLink_t &&surfLink)
Associates a surface with the Auxiliary measurement together with its persitifiable surface link.
Definition
AuxiliaryMeasurement_v1.cxx:37
xAOD::AuxiliaryMeasurement_v1::SurfacePtr_t
std::shared_ptr< const Acts::Surface > SurfacePtr_t
Definition
AuxiliaryMeasurement_v1.h:42
xAOD::AuxiliaryMeasurement_v1::AuxiliaryMeasurement_v1
AuxiliaryMeasurement_v1()=default
Default constructor.
ActsTrk::decodeSurface
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 ...
Definition
SurfaceEncoding.cxx:157
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::unsigned
unsigned
Definition
RingSetConf_v1.cxx:656
Generated on
for ATLAS Offline Software by
1.17.0