ATLAS Offline Software
Loading...
Searching...
No Matches
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
20#include "StorageSvc/DbReflex.h"
25#include "AthLinks/ElementLink.h"
29#include <vector>
30#include <cstdlib>
31
32
46template <class DV>
48 : public T_AthenaPoolCustomCnv<ViewVector<DV>, ViewVector<DV> >
49{
50public:
53 typedef trans_t pers_t;
54
56 typedef std::vector<ElementLink<DV> > pers2_t;
57
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
93private:
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
111
112
113#endif // not ATHENAPOOLCNVSVC_T_ATHENAPOOLVIEWVECTORCNV_H
DataVector adapter that acts like it holds const pointers.
a traits class that associates a CLID to a type T It also detects whether T inherits from Gaudi DataO...
Helpers for checking error return status codes and reporting errors.
A couple hooks for debugging.
Exceptions that can be thrown from AthenaPoolCnvSvc.
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
Identify view containers to be made persistent.
Compatibility for old converter classes that don't get passed the key.
T_AthenaPoolViewVectorCnv(ISvcLocator *svcloc)
Constructor.
std::vector< Guid > m_guids2
List of guids for std::vector<ElementLink<DV> > classes.
T_AthenaPoolCustomCnv< trans_t, pers_t > Base
Base class.
std::vector< Guid > initGuids(const std::type_info &ti) const
Return the set of GUIDs for persistent type ti.
ViewVector< DV > trans_t
The transient and persistent types.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
virtual trans_t * createTransient(const Token *token) override
Read the persistent object and convert it to transient.
std::vector< Guid > m_guids
List of guids for ViewVector classes.
std::vector< ElementLink< DV > > pers2_t
Alternate persistent type; raw vector of EL.
virtual pers_t * createPersistent(trans_t *trans) override
Convert a transient object to persistent form.
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:22
Identify view containers to be made persistent.
Definition ViewVector.h:67
TH1F * trans(TH1F *h, bool t=false)
Helper to make a vector<EL> from a DataVector.