ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkEventCnv
TrkEventAthenaPool
src
SegmentCollectionCnv.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//-----------------------------------------------------------------------------
6
//
7
// file: SegmentCollectionCnv.h
8
// author: Andreas Wildauer <andreas.wildauer@cern.ch>
9
//
10
//-----------------------------------------------------------------------------
11
12
#ifndef TRKEVENTATHENAPOOL_SEGMENTCOLLECTIONCNV_H
13
#define TRKEVENTATHENAPOOL_SEGMENTCOLLECTIONCNV_H
14
15
#include "GaudiKernel/MsgStream.h"
16
17
#include "
AthenaPoolCnvSvc/T_AthenaPoolCustomCnv.h
"
18
#include "
AthenaPoolCnvSvc/AthenaPoolCnvTPExtension.h
"
19
20
#include "
TrkSegment/SegmentCollection.h
"
21
22
#include "
TrkEventTPCnv/SegmentCollectionCnv_tlp1.h
"
23
#include "
TrkEventTPCnv/SegmentCollectionCnv_tlp2.h
"
24
#include "
TrkEventTPCnv/SegmentCollectionCnv_tlp3.h
"
25
#include "
TrkEventTopLevelCnv/SegmentCollectionCnv_tlp4.h
"
26
27
//-----------------------------------------------------------------------------
28
// Base class definition
29
//-----------------------------------------------------------------------------
30
typedef
Trk::SegmentCollection_tlp4
SegmentCollection_PERS
;
31
typedef
SegmentCollectionCnv_tlp4
SegmentCollectionCNV_PERS
;
32
33
typedef
T_AthenaPoolCustomCnv<Trk::SegmentCollection, SegmentCollection_PERS>
SegmentCollectionCnvBase
;
34
35
//-----------------------------------------------------------------------------
36
// Converter for TrackCollection object
37
//-----------------------------------------------------------------------------
38
class
SegmentCollectionCnv
39
:
public
SegmentCollectionCnvBase
,
40
public
AthenaPoolCnvTPExtension
41
{
42
friend
class
CnvFactory
<
SegmentCollectionCnv
>;
43
44
public
:
45
SegmentCollectionCnv
( ISvcLocator *svcloc );
46
47
protected
:
48
virtual
SegmentCollection_PERS
*
createPersistent
(
Trk::SegmentCollection
*transCont)
override
;
49
virtual
Trk::SegmentCollection
*
createTransient
(
const
Token
* token)
override
;
50
51
virtual
TopLevelTPCnvBase
*
getTopLevelTPCnv
()
override
{
return
&
m_TPConverterForPER
; }
52
53
private
:
54
void
initializeOldExtConverters
();
55
56
IMessageSvc *
m_msgSvc
;
57
MsgStream
m_log
;
58
bool
m_oldExtCnvInitialized
=
false
;
59
60
SegmentCollectionCnv_tlp1
m_TPConverter_tlp1
;
61
SegmentCollectionCnv_tlp2
m_TPConverter_tlp2
;
62
SegmentCollectionCnv_tlp3
m_TPConverter_tlp3
;
63
SegmentCollectionCNV_PERS
m_TPConverterForPER
;
64
};
65
66
#endif
// TRKEVENTATHENAPOOL_SEGMENTCOLLECTIONCNV_H
67
68
69
AthenaPoolCnvTPExtension.h
SegmentCollection_PERS
Trk::SegmentCollection_tlp4 SegmentCollection_PERS
Definition
SegmentCollectionCnv.h:30
SegmentCollectionCNV_PERS
SegmentCollectionCnv_tlp4 SegmentCollectionCNV_PERS
Definition
SegmentCollectionCnv.h:31
SegmentCollectionCnvBase
T_AthenaPoolCustomCnv< Trk::SegmentCollection, SegmentCollection_PERS > SegmentCollectionCnvBase
Definition
SegmentCollectionCnv.h:33
SegmentCollectionCnv_tlp1.h
SegmentCollectionCnv_tlp2.h
SegmentCollectionCnv_tlp3.h
SegmentCollectionCnv_tlp4.h
SegmentCollection.h
T_AthenaPoolCustomCnv.h
his file contains the class definition for the templated T_AthenaPoolCustomCnv class.
AthenaPoolCnvTPExtension::AthenaPoolCnvTPExtension
AthenaPoolCnvTPExtension()
Definition
AthenaPoolCnvTPExtension.h:17
CnvFactory
Abstract factory to create the converter.
Definition
ToyConverter.h:16
SegmentCollectionCnv_tlp1
Definition
SegmentCollectionCnv_tlp1.h:49
SegmentCollectionCnv_tlp2
Definition
SegmentCollectionCnv_tlp2.h:41
SegmentCollectionCnv_tlp3
Definition
SegmentCollectionCnv_tlp3.h:30
SegmentCollectionCnv_tlp4
Definition
SegmentCollectionCnv_tlp4.h:31
SegmentCollectionCnv::createPersistent
virtual SegmentCollection_PERS * createPersistent(Trk::SegmentCollection *transCont) override
Definition
SegmentCollectionCnv.cxx:64
SegmentCollectionCnv::m_TPConverter_tlp3
SegmentCollectionCnv_tlp3 m_TPConverter_tlp3
Definition
SegmentCollectionCnv.h:62
SegmentCollectionCnv::getTopLevelTPCnv
virtual TopLevelTPCnvBase * getTopLevelTPCnv() override
returns the main top-level TP converter
Definition
SegmentCollectionCnv.h:51
SegmentCollectionCnv::m_msgSvc
IMessageSvc * m_msgSvc
Definition
SegmentCollectionCnv.h:56
SegmentCollectionCnv::m_TPConverter_tlp1
SegmentCollectionCnv_tlp1 m_TPConverter_tlp1
Definition
SegmentCollectionCnv.h:60
SegmentCollectionCnv::m_TPConverter_tlp2
SegmentCollectionCnv_tlp2 m_TPConverter_tlp2
Definition
SegmentCollectionCnv.h:61
SegmentCollectionCnv::m_TPConverterForPER
SegmentCollectionCNV_PERS m_TPConverterForPER
Definition
SegmentCollectionCnv.h:63
SegmentCollectionCnv::createTransient
virtual Trk::SegmentCollection * createTransient(const Token *token) override
Definition
SegmentCollectionCnv.cxx:75
SegmentCollectionCnv::m_oldExtCnvInitialized
bool m_oldExtCnvInitialized
Definition
SegmentCollectionCnv.h:58
SegmentCollectionCnv::initializeOldExtConverters
void initializeOldExtConverters()
setup old extended converters when reading old data
Definition
SegmentCollectionCnv.cxx:30
SegmentCollectionCnv::SegmentCollectionCnv
SegmentCollectionCnv(ISvcLocator *svcloc)
Definition
SegmentCollectionCnv.cxx:20
SegmentCollectionCnv::m_log
MsgStream m_log
Definition
SegmentCollectionCnv.h:57
T_AthenaPoolCustomCnv
Compatibility for old converter classes that don't get passed the key.
Definition
T_AthenaPoolCustomCnv.h:129
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
TopLevelTPCnvBase
Base class for top-level TP converters.
Definition
TopLevelTPCnvBase.h:32
Trk::SegmentCollection_tlp4
Definition
SegmentCollection_tlp4.h:47
Trk::SegmentCollection
DataVector< Trk::Segment > SegmentCollection
Definition
SegmentCollection.h:13
Generated on
for ATLAS Offline Software by
1.17.0