ATLAS Offline Software
Loading...
Searching...
No Matches
NSW_TrigRawDataContainerCnv_p1.cxx
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4
6
7namespace Muon
8{
10 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Creating transient NSW_TrigRawDataContainer from persistent with size " << persCont->size() << endmsg;
11 auto transCont = std::make_unique<Muon::NSW_TrigRawDataContainer>();
12 persToTrans(persCont, transCont.get(), log);
13 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Created transient NSW_TrigRawDataContainer with " << transCont->size() << " entries" << endmsg;
14 return(transCont.release());
15 }
16
18 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Converting persistent NSW_TrigRawDataContainer_p1 to transient NSW_TrigRawDataContainer" << endmsg;
19
20 for (const auto &raw : *persCont) {
21 auto rawData = std::make_unique<NSW_TrigRawData>(raw.m_sectorId, raw.m_sectorSide, raw.m_bcId);
22 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Created empty NSW_TrigRawData contaier, to be filled with " << raw.size() << " segments" << endmsg;
23 for (unsigned int i = 0; i < raw.size(); ++i) {
24 const NSW_TrigRawDataSegment_p1* persRawSegObj = &( raw[i] );
25 auto transObj = std::make_unique<NSW_TrigRawDataSegment>();
26 m_segmentCnv_p1.persToTrans(persRawSegObj, transObj.get(), log);
27 rawData->push_back(std::move(transObj));
28 }
29 transCont->push_back(std::move(rawData));
30 }
31 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Created transient NSW_TrigRawDataContainer representation with " << transCont->size() << " entries" << endmsg;
32 }
33
35 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Converting transient NSW_TrigRawDataContainer to persistent NSW_TrigRawDataContainer_p1" << endmsg;
36
37 for (const auto *const raw : *transCont) {
38 auto persRawData = std::make_unique<NSW_TrigRawData_p1>();
39 persRawData->m_sectorId = raw->sectorId();
40 persRawData->m_sectorSide = raw->sectorSide();
41 persRawData->m_bcId = raw->bcId();
42 for (const auto *const segment : *raw) {
43 auto persRawSegm = std::make_unique<NSW_TrigRawDataSegment_p1>();
44 m_segmentCnv_p1.transToPers(segment, persRawSegm.get(), log);
45 persRawData->push_back(*persRawSegm);
46 }
47 persCont->push_back(*persRawData);
48 }
49 if (log.level() <= MSG::DEBUG) log << MSG::DEBUG << "Created persistent NSW_TrigRawDataContainer representation with " << persCont->size() << " entries" << endmsg;
50 }
51}
#define endmsg
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.
virtual void persToTrans(const NSW_TrigRawDataContainer_p1 *persCont, NSW_TrigRawDataContainer *transCont, MsgStream &log) override final
virtual NSW_TrigRawDataContainer * createTransient(const NSW_TrigRawDataContainer_p1 *persCont, MsgStream &log) override final
virtual void transToPers(const NSW_TrigRawDataContainer *transCont, NSW_TrigRawDataContainer_p1 *persCont, MsgStream &log) override final
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.