ATLAS Offline Software
Control
DataModelAthenaPool
DataModelAthenaPool
ElementLinkVector_p1.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef DATAMODELATHENAPOOL_ELEMENTLINKVECT_P1_H
6
#define DATAMODELATHENAPOOL_ELEMENTLINKVECT_P1_H
7
13
#include "
ElementLink_p1.h
"
14
#include "
DataLink_p1.h
"
15
22
template
<
class
INDEXTYPE>
23
class
ElementLinkVector_p1
{
24
public
:
25
26
typedef
INDEXTYPE
Index_t
;
27
28
ElementLinkVector_p1
() {}
29
30
class
ElementRef
{
31
public
:
32
ElementRef
() :
m_elementIndex
(),
m_nameIndex
(0) {}
33
ElementRef
(
const
INDEXTYPE &elink_idx,
uint32_t
name_idx)
34
:
m_elementIndex
(elink_idx),
m_nameIndex
(name_idx)
35
{ }
36
37
Index_t
m_elementIndex
;
38
uint32_t
m_nameIndex
;
39
};
40
41
typedef
std::vector<ElementRef>
ElementRefVector
;
42
43
ElementRefVector
m_elementRefs
;
44
DataLinkVector_p1
m_links
;
45
};
46
47
48
49
// Helper template to generate type of the persistent ElementLinkVector_pN
50
// from the type of the transient ElementLinkVector
51
// Used in the ElementlinkVectorCnv_pN
52
53
template
<
class
LINK>
54
struct
GeneratePersELinkVectorType_p1
{
55
typedef
ElementLinkVector_p1<typename GenerateELinkIndexType_p1<typename LINK::index_type>::type
>
type
;
56
};
57
58
59
60
// If you define more ElementLinkVector_pN types, remember to add template instantiations to the Dict file
61
62
typedef
ElementLinkVector_p1<uint32_t>
ElementLinkIntVector_p1
;
63
typedef
ElementLinkVector_p1<std::string>
ElementLinkStrVector_p1
;
64
65
66
#endif
67
68
69
ElementLinkVector_p1::ElementRef::ElementRef
ElementRef(const INDEXTYPE &elink_idx, uint32_t name_idx)
Definition:
ElementLinkVector_p1.h:33
ElementLink_p1.h
This file contains the class definition for the ElementLink_p1 class.
ElementLinkVector_p1::Index_t
INDEXTYPE Index_t
Definition:
ElementLinkVector_p1.h:26
xAOD::uint32_t
setEventNumber uint32_t
Definition:
EventInfo_v1.cxx:127
ElementLinkVector_p1
Definition:
ElementLinkVector_p1.h:23
DataLinkVector_p1
Persistent representation of DataLinkVector.
ElementLinkVector_p1::ElementRefVector
std::vector< ElementRef > ElementRefVector
Definition:
ElementLinkVector_p1.h:41
DataLink_p1.h
This file contains the class definition for DataLink_p1 and DataLinkVector_p1.
ElementLinkVector_p1::ElementRef::m_elementIndex
Index_t m_elementIndex
Definition:
ElementLinkVector_p1.h:37
ElementLinkIntVector_p1
ElementLinkVector_p1< uint32_t > ElementLinkIntVector_p1
Definition:
ElementLinkVector_p1.h:62
ElementLinkVector_p1::ElementRef::ElementRef
ElementRef()
Definition:
ElementLinkVector_p1.h:32
ElementLinkStrVector_p1
ElementLinkVector_p1< std::string > ElementLinkStrVector_p1
Definition:
ElementLinkVector_p1.h:63
ElementLinkVector_p1::m_elementRefs
ElementRefVector m_elementRefs
Definition:
ElementLinkVector_p1.h:43
ElementLinkVector_p1::ElementLinkVector_p1
ElementLinkVector_p1()
Definition:
ElementLinkVector_p1.h:28
GeneratePersELinkVectorType_p1
Definition:
ElementLinkVector_p1.h:54
ElementLinkVector_p1::ElementRef::m_nameIndex
uint32_t m_nameIndex
Definition:
ElementLinkVector_p1.h:38
ElementLinkVector_p1::ElementRef
Definition:
ElementLinkVector_p1.h:30
GeneratePersELinkVectorType_p1::type
ElementLinkVector_p1< typename GenerateELinkIndexType_p1< typename LINK::index_type >::type > type
Definition:
ElementLinkVector_p1.h:55
ElementLinkVector_p1::m_links
DataLinkVector_p1 m_links
Definition:
ElementLinkVector_p1.h:44
Generated on Sun Dec 22 2024 21:10:03 for ATLAS Offline Software by
1.8.18