ATLAS Offline Software
Loading...
Searching...
No Matches
CaloClusterContainerCnv_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#include "CaloEvent/CaloClusterContainer.h"
8
9
12 MsgStream &log) const
13{
14 for (const CaloClusterContainer_p1::CaloCluster_p& pcl : pers->m_vec) {
15 auto transCluster = std::make_unique<CaloCluster>();
16 persToTrans(&pcl,transCluster.get(),log);
17 trans->push_back(std::move(transCluster));
18 }
19
20 CaloTowerSeg towerSeg;
21 m_caloTowerSegCnv.persToTrans(&(pers->m_towerSeg),&towerSeg);
22 trans->setTowerSeg (towerSeg);
23}
24
25
28 MsgStream &log) const
29{
30 pers->m_vec.resize(trans->size());
32
33 for (const CaloCluster* cl : *trans) {
34 transToPers(cl,&(*itp++),log);
35 }
36 m_caloTowerSegCnv.transToPers(&(trans->getTowerSeg()),&(pers->m_towerSeg));
37}
38
39
40
43 MsgStream& log) const
44{
45 trans->setDefaultSignalState (P4SignalState::CALIBRATED);
46 trans->m_ownDataStore=pers->m_ownDataStore;
47 trans->m_basicSignal=pers->m_basicSignal;
48 trans->m_time=pers->m_time;
49 trans->m_samplingPattern=pers->m_samplingPattern;
50 trans->m_barrel=pers->m_barrel;
51 trans->m_endcap=pers->m_endcap;
52 trans->m_eta0=pers->m_eta0;
53 trans->m_phi0=pers->m_phi0;
54
55 //Convert base class
56 m_P4EEtaPhiMCnv.persToTrans(&pers->m_P4EEtaPhiM,static_cast<P4EEtaPhiM*>(trans),log);
57 m_caloSamplingDataCnv.persToTrans(&pers->m_dataStore,&trans->m_dataStore);
58 m_caloMomentStoreCnv.persToTrans(&pers->m_momentStore,&trans->m_momentStore);
59 m_showerElementLinkCnv.persToTrans(&pers->m_dataLink,&trans->m_dataLink,log);
61 m_cellElementLinkCnv.persToTrans(&pers->m_cellLink,&cellLink,log);
62 trans->resetCellLink (cellLink);
63
64 trans->m_status = CaloRecoStatus (pers->m_caloRecoStatus);
65 trans->setAthenaBarCode (IAthenaBarCode::UNDEFINEDBARCODE);
66}
67
68
69
70
73 MsgStream& log) const
74{
75 pers->m_ownDataStore=trans->m_ownDataStore;
76 pers->m_basicSignal=trans->m_basicSignal;
77 pers->m_time=trans->m_time;
78 pers->m_samplingPattern=trans->m_samplingPattern;
79 pers->m_barrel=trans->m_barrel;
80 pers->m_endcap=trans->m_endcap;
81 pers->m_eta0=trans->m_eta0;
82 pers->m_phi0=trans->m_phi0;
83
84 //Convert base class
85 P4EEtaPhiM tmp = *trans;
86 m_P4EEtaPhiMCnv.transToPers(&tmp,&pers->m_P4EEtaPhiM,log);
87 m_caloSamplingDataCnv.transToPers(&trans->m_dataStore,&pers->m_dataStore);
88 m_caloMomentStoreCnv.transToPers(&trans->m_momentStore,&pers->m_momentStore);
89 m_showerElementLinkCnv.transToPers(&trans->m_dataLink,&pers->m_dataLink,log);
90 m_cellElementLinkCnv.transToPers(&trans->cellLink(),&pers->m_cellLink,log);
91
92 pers->m_caloRecoStatus=trans->m_status.getStatusWord();
93
94}
95
CaloSamplingDataCnv_p1 m_caloSamplingDataCnv
ElementLinkCnv_p1< ElementLink< CaloCellLinkContainer > > m_cellElementLinkCnv
CaloClusterMomentStoreCnv_p1 m_caloMomentStoreCnv
virtual void persToTrans(const CaloClusterContainer_p1 *pers, CaloClusterContainer *trans, MsgStream &log) const override
ElementLinkCnv_p1< ElementLink< CaloShowerContainer > > m_showerElementLinkCnv
virtual void transToPers(const CaloClusterContainer *trans, CaloClusterContainer_p1 *pers, MsgStream &log) const override
CaloClusterLinkTemplate< CaloCellLinkContainer >::link_type cell_link_type
Principal data class for CaloCell clusters.
reconstruction status indicator
Data object stores CaloTower segmentation.
static const AthenaBarCode_t UNDEFINEDBARCODE
TH1F * trans(TH1F *h, bool t=false)