ATLAS Offline Software
Loading...
Searching...
No Matches
CaloTopoTowerContainerCnv_p1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6
9
10#include <iostream>
11
14 MsgStream& msg) const
15{
16 CaloTowerSeg seg;
17 m_caloTowerSegCnv.persToTrans(&(pers->m_towerSeg),&seg);
18 CaloTopoTowerContainer ctmp (seg, true);
19 trans->swap (ctmp);
20
21 std::vector<unsigned int> reg;
22 for (size_t i = 0; i < pers->m_caloRegions.size(); i++)
23 trans->setCalo (static_cast<CaloCell_ID::SUBCALO> (pers->m_caloRegions[i]));
24
25 if (msg.level() <= MSG::DEBUG) msg << MSG::DEBUG << "Creating transistent state of Containers..." << endmsg;
26 m_cells.persToTrans(&pers->cells,&trans->m_cells,msg);
27 m_clusters.persToTrans(&pers->clusters,&trans->m_clusters,msg);
28 m_towers.persToTrans(&pers->towers,&trans->m_towers,msg);
29
33 trans->m_noiseSigma=pers->m_noiseSigma;
36}
37
38
41 MsgStream& msg) const
42{
43 m_caloTowerSegCnv.transToPers(&(trans->towerseg()),&(pers->m_towerSeg));
44 std::vector<CaloCell_ID::SUBCALO> reg;
45 (void)trans->getCalos (reg);
46 pers->m_caloRegions.resize (reg.size());
47 for (size_t i = 0; i < reg.size(); i++)
48 pers->m_caloRegions[i] = reg[i];
49
50 if (msg.level() <= MSG::DEBUG) msg << MSG::DEBUG << "Creating persistent state of Containers..." << endmsg;
51 m_cells.transToPers(&(trans->m_cells),&(pers->cells),msg);
52 m_clusters.transToPers(&(trans->m_clusters),&(pers->clusters),msg);
53 m_towers.transToPers(&(trans->m_towers),&(pers->towers),msg);
57 pers->m_noiseSigma=trans->m_noiseSigma;
60}
#define endmsg
CaloCell_Base_ID::SUBCALO SUBCALO
Definition CaloCell_ID.h:50
DataLinkCnv_p1< DataLink< CaloClusterContainer > > m_clusters
DataLinkCnv_p1< DataLink< CaloCellContainer > > m_cells
DataLinkCnv_p1< DataLink< CaloTowerContainer > > m_towers
virtual void persToTrans(const CaloTopoTowerContainer_p1 *, CaloTopoTowerContainer *, MsgStream &msg) const override
virtual void transToPers(const CaloTopoTowerContainer *, CaloTopoTowerContainer_p1 *, MsgStream &msg) const override
std::vector< unsigned int > m_caloRegions
Storable container class for CaloTower.
void swap(CaloTopoTowerContainer &other)
Swap.
DataLink< CaloTowerContainer > m_towers
DataLink< CaloClusterContainer > m_clusters
DataLink< CaloCellContainer > m_cells
void setCalo(const CaloCell_ID::SUBCALO &nCalo)
Adds a calorimeter index to the tower.
size_t getCalos(std::vector< CaloCell_ID::SUBCALO > &theCalos) const
Retrieve the list of used calorimeters.
const CaloTowerSeg & towerseg() const
Return a copy of the attached CaloTowerSeg.
Data object stores CaloTower segmentation.
MsgStream & msg
Definition testRead.cxx:32