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
42 CaloCluster* trans,
43 MsgStream& log) const
44{
46 trans->m_ownDataStore=pers->m_ownDataStore;
47 trans->m_basicSignal=pers->m_basicSignal;
48 trans->m_time=pers->m_time;
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
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;
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
93
94}
95
virtual void setAthenaBarCode(AthenaBarCode_t id)
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
virtual const CaloTowerSeg & getTowerSeg() const
Retrieve tower segmentation.
virtual void setTowerSeg(const CaloTowerSeg &towerSeg)
Set tower segmentation into CaloClusterContainer.
const cell_link_type & cellLink() const
Access to underlying link.
void resetCellLink(const cell_link_type &cellLink)
CaloClusterLinkTemplate< CaloCellLinkContainer >::link_type cell_link_type
Principal data class for CaloCell clusters.
CaloClusterMomentStore m_momentStore
cluster moments
unsigned int m_samplingPattern
Sampling pattern.
bool m_endcap
Flag is true if at least one cell in EMB.
bool setDefaultSignalState(signalstate_t s)
Sets default signal state.
CaloSamplingData m_dataStore
{\ brief Cached Stores
bool m_barrel
Flag is true if at least one cell in EMB.
double m_basicSignal
Stores basic energy signal.
CaloRecoStatus m_status
Calorimeter reconstruction status.
reconstruction status indicator
virtual const store_type & getStatusWord() const
retrieve the entire status word
Data object stores CaloTower segmentation.
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.
static const AthenaBarCode_t UNDEFINEDBARCODE