ATLAS Offline Software
Loading...
Searching...
No Matches
V0ContainerCnv.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5//-----------------------------------------------------------------------------
6//
7// file: V0ContainerCnv.cxx
8// author: Kirill Prokofiev <Kirill.Prokofiev@cern.ch>
9//
10//-----------------------------------------------------------------------------
11
12
14#include "V0ContainerCnv.h"
15
18
19V0ContainerCnv::V0ContainerCnv( ISvcLocator *svcloc ):
20 V0ContainerCnvBase(svcloc),
21 m_msgSvc( msgSvc() ),
22 m_log( m_msgSvc, "V0ContainerCnv" )
23 {}
24
25//-----------------------------------------------------------------------------
26// Initializer
27//-----------------------------------------------------------------------------
29{
31 if( sc.isFailure() )
32 {
33 m_log << MSG::FATAL << "Could not initialize V0ContainerCnvBase" << endmsg;
34 return sc;
35 }
36//-------------------------------------------------------------------------
37// Set up the message stream
38//-------------------------------------------------------------------------
39 m_log.setLevel( m_msgSvc->outputLevel() );
40 m_log << MSG::INFO << "V0ContainerCnv::initialize()" << endmsg;
41
42 return StatusCode::SUCCESS;
43
44}//end of initialize method
45
46
48{
49 m_log.setLevel( m_msgSvc->outputLevel() );
50 updateLog(); // Make m_log indicate the current key
51 V0Container_PERS * pVxCont = m_TPConverter.createPersistent( transCont, m_log );
52
53 // std::cout<<" WRITING: Dumping the contents of the V0Container "<<std::endl;
54
55/*
56 std::cout<<"WRITING: Dumping the contents of the V0Container "<<std::endl;
57 std::cout<<"------------------------------VxVertex related "<<std::endl;
58 std::cout<<" m_v0Containers size: "<< pVxCont->m_v0Containers.size()<<std::endl;
59 std::cout<<" m_v0Candidates size: "<< pVxCont->m_v0Candidates.size() <<std::endl;
60 std::cout<<" m_v0Hypothesises size: "<< pVxCont->m_v0Hypothesises.size()<<std::endl;
61 std::cout<<" m_extendedVxCandidate size: "<< pVxCont->m_extendedVxCandidates.size()<<std::endl;
62 std::cout<<" m_vxCandidate size: "<< pVxCont->m_vxCandidates.size()<<std::endl;
63 std::cout<<" m_vxTrackAtVertices size: "<< pVxCont->m_vxTracksAtVertex.size()<<std::endl;
64 std::cout<<" m_recVertices size: "<< pVxCont->m_recVertices.size()<<std::endl;
65 std::cout<<" m_vertices size: "<< pVxCont->m_vertices.size()<<std::endl;
66
67 std::cout<<"------------------------------TrkTrack related "<<std::endl;
68 std::cout<<" m_tracks size: "<< pVxCont->m_tracks.size()<<std::endl;
69 std::cout<<"------------------------------TrkTrackParameters related "<<std::endl;
70 std::cout<<" m_trackParameters size: "<< pVxCont->m_trackParameters.size()<<std::endl;
71 std::cout<<" m_perigees size: "<< pVxCont->m_perigees.size()<<std::endl;
72 std::cout<<" m_measPerigees size: "<< pVxCont->m_measPerigees.size()<<std::endl;
73 std::cout<<" m_surfaces size: "<< pVxCont->m_surfaces.size()<<std::endl;
74 std::cout<<" m_fitQualities size: "<< pVxCont->m_fitQualities.size()<<std::endl;
75 std::cout<<" m_hepSymMatrices size: "<< pVxCont->m_hepSymMatrices.size()<<std::endl;
76*/
77
78 return pVxCont;
79
80}//end of create persistent method
81
83{
84 static const pool::Guid p2_guid( "9BC2B917-940A-4121-8E8B-8C99E178D8C1" );
85 static const pool::Guid p1_guid( "402A9BD1-4476-4E97-A5E4-EB4D742FBB38" );
86 static const pool::Guid p0_guid( "0C363A21-1B86-4B39-8A84-A62161B13C7B" );
87
88 V0Container *p_collection = nullptr;
89 if( compareClassGuid(token, p2_guid ) )
90 {
91 // std::cout << "V0ContainerCnv::createTransient: do new TP p2" << std::endl;
92
93 /*
94 std::cout<<"READING: Dumping the contents of the V0Container "<<std::endl;
95 std::cout<<"------------------------------VxVertex related "<<std::endl;
96 std::cout<<" m_v0Containers size: "<< p_coll->m_v0Containers.size()<<std::endl;
97 std::cout<<" m_v0Candidates size: "<< p_coll->m_v0Candidates.size() <<std::endl;
98 std::cout<<" m_v0Hypothesises size: "<< p_coll->m_v0Hypothesises.size()<<std::endl;
99 std::cout<<" m_extendedVxCandidate size: "<< p_coll->m_extendedVxCandidates.size()<<std::endl;
100 std::cout<<" m_vxCandidate size: "<< p_coll->m_vxCandidates.size()<<std::endl;
101 std::cout<<" m_vxTrackAtVertices size: "<< p_coll->m_vxTracksAtVertex.size()<<std::endl;
102 std::cout<<" m_recVertices size: "<< p_coll->m_recVertices.size()<<std::endl;
103 std::cout<<" m_vertices size: "<< p_coll->m_vertices.size()<<std::endl;
104
105 std::cout<<"------------------------------TrkTrack related "<<std::endl;
106 std::cout<<" m_tracks size: "<< p_coll->m_tracks.size()<<std::endl;
107 std::cout<<"------------------------------TrkTrackParameters related "<<std::endl;
108 std::cout<<" m_trackParameters size: "<< p_coll->m_trackParameters.size()<<std::endl;
109 std::cout<<" m_perigees size: "<< p_coll->m_perigees.size()<<std::endl;
110 std::cout<<" m_measPerigees size: "<< p_coll->m_measPerigees.size()<<std::endl;
111 std::cout<<" m_surfaces size: "<< p_coll->m_surfaces.size()<<std::endl;
112 std::cout<<" m_fitQualities size: "<< p_coll->m_fitQualities.size()<<std::endl;
113 std::cout<<" m_hepSymMatrices size: "<< p_coll->m_hepSymMatrices.size()<<std::endl;
114 */
116 p_collection = m_TPConverter.createTransient( m_log );
117
118 }else if( compareClassGuid(token, p1_guid ) )
119 {
120 // std::cout << "V0ContainerCnv::createTransient: do TP p1" << std::endl;
121
122/*
123 std::cout<<"READING: Dumping the contents of the V0Container "<<std::endl;
124 std::cout<<"------------------------------VxVertex related "<<std::endl;
125 std::cout<<" m_v0Containers size: "<< p_coll->m_v0Containers.size()<<std::endl;
126 std::cout<<" m_v0Candidates size: "<< p_coll->m_v0Candidates.size() <<std::endl;
127 std::cout<<" m_v0Hypothesises size: "<< p_coll->m_v0Hypothesises.size()<<std::endl;
128 std::cout<<" m_extendedVxCandidate size: "<< p_coll->m_extendedVxCandidates.size()<<std::endl;
129 std::cout<<" m_vxCandidate size: "<< p_coll->m_vxCandidates.size()<<std::endl;
130 std::cout<<" m_vxTrackAtVertices size: "<< p_coll->m_vxTracksAtVertex.size()<<std::endl;
131 std::cout<<" m_recVertices size: "<< p_coll->m_recVertices.size()<<std::endl;
132 std::cout<<" m_vertices size: "<< p_coll->m_vertices.size()<<std::endl;
133
134 std::cout<<"------------------------------TrkTrack related "<<std::endl;
135 std::cout<<" m_tracks size: "<< p_coll->m_tracks.size()<<std::endl;
136 std::cout<<"------------------------------TrkTrackParameters related "<<std::endl;
137 std::cout<<" m_trackParameters size: "<< p_coll->m_trackParameters.size()<<std::endl;
138 std::cout<<" m_perigees size: "<< p_coll->m_perigees.size()<<std::endl;
139 std::cout<<" m_measPerigees size: "<< p_coll->m_measPerigees.size()<<std::endl;
140 std::cout<<" m_surfaces size: "<< p_coll->m_surfaces.size()<<std::endl;
141 std::cout<<" m_fitQualities size: "<< p_coll->m_fitQualities.size()<<std::endl;
142 std::cout<<" m_hepSymMatrices size: "<< p_coll->m_hepSymMatrices.size()<<std::endl;
143*/
146 p_collection = tpCnv.createTransient( m_log );
147
148 }else if( compareClassGuid(token, p0_guid ) ){
149 // std::cout << "V0ContainerCnv::createTransient: use old converter" << std::endl;
150 p_collection = poolReadObject< V0Container >(token);
151
152 }else throw std::runtime_error( "Unsupported persistent version of V0Container" );
153
154 return p_collection;
155
156}//end of create transient method
157
#define endmsg
static Double_t sc
T_AthenaPoolCustomCnv< V0Container, V0Container_PERS > V0ContainerCnvBase
Trk::V0Container_tlp2 V0Container_PERS
virtual bool compareClassGuid(const Token *token, const Guid &clid) const
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition Token.h:21
TRANS * createTransient(MsgStream &log)
Create transient representation of the persistent object known to this converter.
V0ContainerCnv(ISvcLocator *svcloc)
IMessageSvc * m_msgSvc
V0ContainerCnv_tlp2 m_TPConverter
void updateLog()
This method modifies m_log to indicate the current key being converted.
virtual V0Container_PERS * createPersistent(V0Container *transCont) override
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
virtual V0Container * createTransient(const Token *token) override