ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
DataModelTest
DataModelTestDataCommon
DataModelTestDataCommon
versions
PLinks_v1.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
/*
3
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4
*/
11
12
13
#ifndef DATAMODELTESTDATACOMMON_PLINKS_V1_H
14
#define DATAMODELTESTDATACOMMON_PLINKS_V1_H
15
16
17
#include "
DataModelTestDataCommon/CVec.h
"
18
#include "
AthContainers/AuxElement.h
"
19
#include "
xAODCore/PackedLink.h
"
20
#include "
AthenaKernel/BaseInfo.h
"
21
22
23
namespace
DMTest
{
24
25
32
class
PLinks_v1
33
:
public
SG::AuxElement
34
{
35
private
:
36
using
plink_type
=
SG::PackedLink<CVec>
;
37
using
vlinks_type
= std::vector<SG::PackedLink<CVec> >;
38
39
40
public
:
41
// Get/set the single link.
42
ElementLink<CVec>
plink
()
const
;
43
void
setPLink
(
const
ElementLink<CVec>
& l);
44
45
// Get/set one element of the vector of links.
46
ElementLink<CVec>
vlink
(
size_t
i)
const
;
47
void
setVLink
(
size_t
i,
const
ElementLink<CVec>
& l);
48
49
// Get the vector of links, as a const range.
50
using
const_el_range
=
SG::ConstAccessor<vlinks_type>::const_elt_span
;
51
const_el_range
vlinks
()
const
;
52
53
// Get the vector of links, as a non-const range.
54
using
el_range
=
SG::Accessor<vlinks_type>::elt_span
;
55
el_range
vlinks
();
56
57
// Set the vector of links.
58
void
setVLinks
(
const
std::vector<
ElementLink<CVec>
>& v);
59
};
60
61
62
}
// namespace DMTest
63
64
65
SG_BASE
(
DMTest::PLinks_v1
,
SG::AuxElement
);
66
67
68
#endif
// not DATAMODELTESTDATACOMMON_PLINKS_V1_H
AuxElement.h
Base class for elements of a container that can have aux data.
CVec.h
Class used for testing xAOD data reading/writing.
BaseInfo.h
Provide an interface for finding inheritance information at run time.
SG_BASE
#define SG_BASE(D, B)
Declare that class D derives from class B.
Definition
Control/AthenaKernel/AthenaKernel/BaseInfo.h:243
PackedLink.h
Auxiliary variable type allowing to store ElementLinks as packed 32-bit values.
DMTest::PLinks_v1
For testing packed links.
Definition
PLinks_v1.h:34
DMTest::PLinks_v1::vlink
ElementLink< CVec > vlink(size_t i) const
Get element i of the vector of links.
Definition
PLinks_v1.cxx:24
DMTest::PLinks_v1::el_range
SG::Accessor< vlinks_type >::elt_span el_range
Definition
PLinks_v1.h:54
DMTest::PLinks_v1::plink_type
SG::PackedLink< CVec > plink_type
Definition
PLinks_v1.h:36
DMTest::PLinks_v1::const_el_range
SG::ConstAccessor< vlinks_type >::const_elt_span const_el_range
Definition
PLinks_v1.h:50
DMTest::PLinks_v1::plink
ElementLink< CVec > plink() const
DMTest::PLinks_v1::vlinks
const_el_range vlinks() const
Get the vector of links, as a const range.
Definition
PLinks_v1.cxx:39
DMTest::PLinks_v1::vlinks_type
std::vector< SG::PackedLink< CVec > > vlinks_type
Definition
PLinks_v1.h:37
DMTest::PLinks_v1::setVLink
void setVLink(size_t i, const ElementLink< CVec > &l)
Set element i of the vector of links.
Definition
PLinks_v1.cxx:31
DMTest::PLinks_v1::setPLink
void setPLink(const ElementLink< CVec > &l)
DMTest::PLinks_v1::setVLinks
void setVLinks(const std::vector< ElementLink< CVec > > &v)
Set the vector of links.
Definition
PLinks_v1.cxx:55
ElementLink
ElementLink implementation for ROOT usage.
Definition
A/AthLinks/ElementLink.h:40
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition
Control/AthContainers/AthContainers/Accessor.h:68
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition
ConstAccessor.h:55
DMTest
Definition
B.h:23
SG::AuxElement
AuxElement(SG::AuxVectorData *container, size_t index)
Base class for elements of a container that can have aux data.
SG::PackedLink
A packed version of ElementLink.
Definition
PackedLinkImpl.h:121
Generated on
for ATLAS Offline Software by
1.17.0