ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaPOOL
AthenaPoolCnvSvc
AthenaPoolCnvSvc
T_AthenaPoolViewVectorCnv.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-2026 CERN for the benefit of the ATLAS collaboration
4
*/
11
12
13
#ifndef ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
14
#define ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
15
16
17
#include "
AthenaPoolCnvSvc/T_AthenaPoolCustomCnv.h
"
18
#include "
AthenaPoolCnvSvc/exceptions.h
"
19
#include "
AthenaPoolCnvSvc/debug.h
"
20
#include "
StorageSvc/DbReflex.h
"
21
#include "
StorageSvc/DbTypeInfo.h
"
22
#include "
AthContainers/ViewVector.h
"
23
#include "
AthContainers/dataVectorAsELV.h
"
24
#include "
AthContainers/ConstDataVector.h
"
25
#include "AthLinks/ElementLink.h"
26
#include "
AthenaKernel/errorcheck.h
"
27
#include "
AthenaKernel/ClassID_traits.h
"
28
#include "
DataModelRoot/RootType.h
"
29
#include <vector>
30
#include <cstdlib>
31
32
46
template
<
class
DV>
47
class
T_AthenaPoolViewVectorCnv
48
:
public
T_AthenaPoolCustomCnv
<ViewVector<DV>, ViewVector<DV> >
49
{
50
public
:
52
typedef
ViewVector<DV>
trans_t
;
53
typedef
trans_t
pers_t
;
54
56
typedef
std::vector<ElementLink<DV> >
pers2_t
;
57
59
typedef
T_AthenaPoolCustomCnv<trans_t, pers_t>
Base
;
60
61
66
T_AthenaPoolViewVectorCnv
(ISvcLocator* svcloc);
67
68
72
virtual
StatusCode
initialize
()
override
;
73
74
81
virtual
pers_t
*
createPersistent
(
trans_t
*
trans
)
override
;
82
83
90
virtual
trans_t
*
createTransient
(
const
Token
* token)
override
;
91
92
93
private
:
100
std::vector<Guid>
initGuids
(
const
std::type_info& ti)
const
;
101
103
std::vector<Guid>
m_guids
;
104
106
std::vector<Guid>
m_guids2
;
107
};
108
109
110
#include "
AthenaPoolCnvSvc/T_AthenaPoolViewVectorCnv.icc
"
111
112
113
#endif
// not ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
ClassID_traits.h
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
errorcheck.h
Helpers for checking error return status codes and reporting errors.
debug.h
A couple hooks for debugging.
exceptions.h
Exceptions that can be thrown from AthenaPoolCnvSvc.
DbReflex.h
DbTypeInfo.h
RootType.h
T_AthenaPoolCustomCnv.h
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
T_AthenaPoolViewVectorCnv.icc
ViewVector.h
Identify view containers to be made persistent.
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition
T_AthenaPoolCustomCnv.h:129
T_AthenaPoolViewVectorCnv::T_AthenaPoolViewVectorCnv
T_AthenaPoolViewVectorCnv(ISvcLocator *svcloc)
Constructor.
T_AthenaPoolViewVectorCnv::m_guids2
std::vector< Guid > m_guids2
List of guids for std::vector<ElementLink<DV> > classes.
Definition
T_AthenaPoolViewVectorCnv.h:106
T_AthenaPoolViewVectorCnv::Base
T_AthenaPoolCustomCnv< trans_t, pers_t > Base
Base class.
Definition
T_AthenaPoolViewVectorCnv.h:59
T_AthenaPoolViewVectorCnv::initGuids
std::vector< Guid > initGuids(const std::type_info &ti) const
Return the set of GUIDs for persistent type ti.
T_AthenaPoolViewVectorCnv::trans_t
ViewVector< DV > trans_t
The transient and persistent types.
Definition
T_AthenaPoolViewVectorCnv.h:52
T_AthenaPoolViewVectorCnv::initialize
virtual StatusCode initialize() override
Standard Gaudi initialize method.
T_AthenaPoolViewVectorCnv::createTransient
virtual trans_t * createTransient(const Token *token) override
Read the persistent object and convert it to transient.
T_AthenaPoolViewVectorCnv::m_guids
std::vector< Guid > m_guids
List of guids for ViewVector classes.
Definition
T_AthenaPoolViewVectorCnv.h:103
T_AthenaPoolViewVectorCnv::pers2_t
std::vector< ElementLink< DV > > pers2_t
Alternate persistent type; raw vector of EL.
Definition
T_AthenaPoolViewVectorCnv.h:56
T_AthenaPoolViewVectorCnv::pers_t
trans_t pers_t
Definition
T_AthenaPoolViewVectorCnv.h:53
T_AthenaPoolViewVectorCnv::createPersistent
virtual pers_t * createPersistent(trans_t *trans) override
Convert a transient object to persistent form.
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
ViewVector
Identify view containers to be made persistent.
Definition
ViewVector.h:67
trans
TH1F * trans(TH1F *h, bool t=false)
Definition
comparitor.cxx:199
dataVectorAsELV.h
Helper to make a vector<EL> from a DataVector.
Generated on
for ATLAS Offline Software by
1.17.0