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
30 trans->m_minimumCellEnergy=pers->m_minimumCellEnergy;
31 trans->m_minimumClusterEnergy=pers->m_minimumClusterEnergy;
32 trans->m_useCellWeights=pers->m_useCellWeights;
33 trans->m_noiseSigma=pers->m_noiseSigma;
34 trans->m_cellESignificanceThreshold=pers->m_cellESignificanceThreshold;
35 trans->m_caloSelection=pers->m_caloSelection;
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);
54 pers->m_minimumCellEnergy=trans->m_minimumCellEnergy;
55 pers->m_minimumClusterEnergy=trans->m_minimumClusterEnergy;
56 pers->m_useCellWeights=trans->m_useCellWeights;
57 pers->m_noiseSigma=trans->m_noiseSigma;
58 pers->m_cellESignificanceThreshold=trans->m_cellESignificanceThreshold;
59 pers->m_caloSelection=trans->m_caloSelection;
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.
Data object stores CaloTower segmentation.
TH1F * trans(TH1F *h, bool t=false)
MsgStream & msg
Definition testRead.cxx:32