ATLAS Offline Software
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 
10 void
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 
31 void
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 
DataVector::reserve
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
LArLATOMEHeaderContainer_p1::m_sourceID
std::vector< unsigned int > m_sourceID
Definition: LArLATOMEHeaderContainer_p1.h:16
LArLATOMEHeaderContainer_p1.h
PlotCalibFromCool.nchan
nchan
Definition: PlotCalibFromCool.py:564
LArLATOMEHeaderContainer
Container class for LArLATOMEHeader.
Definition: LArLATOMEHeaderContainer.h:19
LArLATOMEHeaderContainerCnv_p1.h
LArLATOMEHeaderContainer_p1
Definition: LArLATOMEHeaderContainer_p1.h:12
lumiFormat.i
int i
Definition: lumiFormat.py:92
LArLATOMEHeaderContainer_p1::m_nChannels
std::vector< unsigned short > m_nChannels
Definition: LArLATOMEHeaderContainer_p1.h:18
LArLATOMEHeaderContainerCnv_p1::persToTrans
virtual void persToTrans(const LArLATOMEHeaderContainer_p1 *pers, LArLATOMEHeaderContainer *trans, MsgStream &log) const override
Definition: LArLATOMEHeaderContainerCnv_p1.cxx:11
DataVector::clear
void clear()
Erase all the elements in the collection.
LArLATOMEHeaderContainer_p1::m_l1ID
std::vector< unsigned int > m_l1ID
Definition: LArLATOMEHeaderContainer_p1.h:20
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
LArLATOMEHeaderContainerCnv_p1::transToPers
virtual void transToPers(const LArLATOMEHeaderContainer *trans, LArLATOMEHeaderContainer_p1 *pers, MsgStream &log) const override
Definition: LArLATOMEHeaderContainerCnv_p1.cxx:32
LArLATOMEHeaderContainer_p1::m_latomeID
std::vector< unsigned int > m_latomeID
Definition: LArLATOMEHeaderContainer_p1.h:17
LArLATOMEHeader
Holds information from the LATOME Header.
Definition: LArLATOMEHeader.h:19
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
LArLATOMEHeaderContainer_p1::m_BCID
std::vector< unsigned short > m_BCID
Definition: LArLATOMEHeaderContainer_p1.h:19
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.