ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
12
13
#include "
ElementLink_p1.h
"
14
#include "
DataLink_p1.h
"
15
21
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
DataLink_p1.h
This file contains the class definition for DataLink_p1 and DataLinkVector_p1.
ElementLinkStrVector_p1
ElementLinkVector_p1< std::string > ElementLinkStrVector_p1
Definition
ElementLinkVector_p1.h:63
ElementLinkIntVector_p1
ElementLinkVector_p1< uint32_t > ElementLinkIntVector_p1
Definition
ElementLinkVector_p1.h:62
ElementLink_p1.h
This file contains the class definition for the ElementLink_p1 class.
DataLinkVector_p1
Persistent representation of DataLinkVector.
ElementLinkVector_p1::ElementRef::ElementRef
ElementRef()
Definition
ElementLinkVector_p1.h:32
ElementLinkVector_p1::ElementRef::m_elementIndex
Index_t m_elementIndex
Definition
ElementLinkVector_p1.h:37
ElementLinkVector_p1::ElementRef::m_nameIndex
uint32_t m_nameIndex
Definition
ElementLinkVector_p1.h:38
ElementLinkVector_p1::ElementRef::ElementRef
ElementRef(const INDEXTYPE &elink_idx, uint32_t name_idx)
Definition
ElementLinkVector_p1.h:33
ElementLinkVector_p1
Definition
ElementLinkVector_p1.h:23
ElementLinkVector_p1::Index_t
INDEXTYPE Index_t
Definition
ElementLinkVector_p1.h:26
ElementLinkVector_p1< typename GenerateELinkIndexType_p1< typename LINK::index_type >::type >::m_links
DataLinkVector_p1 m_links
Definition
ElementLinkVector_p1.h:44
ElementLinkVector_p1< typename GenerateELinkIndexType_p1< typename LINK::index_type >::type >::m_elementRefs
ElementRefVector m_elementRefs
Definition
ElementLinkVector_p1.h:43
ElementLinkVector_p1::ElementRefVector
std::vector< ElementRef > ElementRefVector
Definition
ElementLinkVector_p1.h:41
ElementLinkVector_p1::ElementLinkVector_p1
ElementLinkVector_p1()
Definition
ElementLinkVector_p1.h:28
GeneratePersELinkVectorType_p1
Definition
ElementLinkVector_p1.h:54
GeneratePersELinkVectorType_p1::type
ElementLinkVector_p1< typename GenerateELinkIndexType_p1< typename LINK::index_type >::type > type
Definition
ElementLinkVector_p1.h:55
Generated on
for ATLAS Offline Software by
1.17.0