ATLAS Offline Software
Loading...
Searching...
No Matches
LArLATOMEHeaderContainerCnv_p1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8
9
10void
12 LArLATOMEHeaderContainer* trans, MsgStream &log) const
13{
14 const unsigned nchan=pers->m_sourceID.size();
15 if (nchan != pers->m_nChannels.size() || nchan != pers->m_BCID.size()) {
16 log << MSG::ERROR << "LArLATOMEHeaderContainer_p1 is inconsistent! " << std::endl;
17 return;
18 }
19
20 trans->clear();
21 trans->reserve(nchan);
22
23 for (unsigned i=0;i<nchan;i++) {
24
25 trans->push_back (new LArLATOMEHeader (pers->m_sourceID[i], pers->m_latomeID[i], pers->m_nChannels[i], pers->m_BCID[i],pers->m_l1ID[i]));
26
27 }
28}
29
30
31void
33 LArLATOMEHeaderContainer_p1* pers, MsgStream &/*log*/) const
34{
35
36 unsigned int nlatome=trans->size();
37 pers->m_sourceID.reserve(nlatome);
38 pers->m_latomeID.reserve(nlatome);
39 pers->m_nChannels.reserve(nlatome);
40 pers->m_BCID.reserve(nlatome);
41 pers->m_l1ID.reserve(nlatome);
42
43 for (const LArLATOMEHeader* transHeader : *trans) {
44 pers->m_sourceID.push_back(transHeader->SourceId());
45 pers->m_latomeID.push_back(transHeader->LatomeId());
46 pers->m_nChannels.push_back(transHeader->NChans());
47 pers->m_BCID.push_back(transHeader->BCId());
48 pers->m_l1ID.push_back(transHeader->L1Id());
49 }
50}
51
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
void clear()
Erase all the elements in the collection.
virtual void transToPers(const LArLATOMEHeaderContainer *trans, LArLATOMEHeaderContainer_p1 *pers, MsgStream &log) const override
virtual void persToTrans(const LArLATOMEHeaderContainer_p1 *pers, LArLATOMEHeaderContainer *trans, MsgStream &log) const override
std::vector< unsigned int > m_latomeID
std::vector< unsigned int > m_l1ID
std::vector< unsigned short > m_nChannels
std::vector< unsigned short > m_BCID
std::vector< unsigned int > m_sourceID
Container class for LArLATOMEHeader.
Holds information from the LATOME Header.