ATLAS Offline Software
TgcRdoCnv_p4.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "MuonRDO/TgcRdo.h"
6 #include "GaudiKernel/MsgStream.h"
8 #include "TgcRdoCnv_p4.h"
9 #include "TgcRawDataCnv_p4.h"
10 
11 namespace {
12 
13 union Errors_u {
15  uint32_t i;
16 };
17 
18 union RodStatus_u {
19  TgcRdo::RodStatus rodStatus;
20  uint32_t i;
21 };
22 
23 union LocalStatus_u {
24  TgcRdo::LocalStatus localStatus;
25  uint32_t i;
26 };
27 
28 }
29 
30 void
31 TgcRdoCnv_p4::transToPers(const TgcRdo* transColl, TgcRdo_p4* persColl, MsgStream &log)
32 {
33  if (log.level() <= MSG::DEBUG)
34  log << MSG::DEBUG << " *** Writing out TgcRdo P4" << endmsg;
35 
36  // Invoke vector converter from the base template
37  TgcRdoCnv_p4_basetype::transToPers(transColl, persColl, log);
38 
39  persColl->m_version = transColl->version();
40  persColl->m_id = transColl->identify();
41  persColl->m_subDetectorId = transColl->subDetectorId();
42  persColl->m_rodId = transColl->rodId();
43  persColl->m_triggerType = transColl->triggerType();
44  persColl->m_bcId = transColl->bcId();
45  persColl->m_l1Id = transColl->l1Id();
46 
47  Errors_u errors_u{};
48  errors_u.i = 0;
49  errors_u.errors = transColl->errors();
50  persColl->m_errors = errors_u.i;
51 
52  RodStatus_u rodStatus_u{};
53  rodStatus_u.rodStatus = transColl->rodStatus();
54  persColl->m_rodStatus = rodStatus_u.i;
55 
56  LocalStatus_u localStatus_u{};
57  localStatus_u.localStatus = transColl->localStatus();
58  persColl->m_localStatus = localStatus_u.i;
59 
60  persColl->m_orbit = transColl->orbit();
61 }
62 
63 void
64 TgcRdoCnv_p4::persToTrans(const TgcRdo_p4* persColl, TgcRdo* transColl, MsgStream &log)
65 {
66  if (log.level() <= MSG::DEBUG)
67  log << MSG::DEBUG << " *** Reading TgcRdo P4" << endmsg;
68 
69  // Invoke vector converter from the base template
70  TgcRdoCnv_p4_basetype::persToTrans(persColl, transColl, log);
71 
72  transColl->setVersion (persColl->m_version);
73  transColl->setOnlineId(persColl->m_subDetectorId,
74  persColl->m_rodId);
75  transColl->setTriggerType (persColl->m_triggerType);
76  transColl->setBcId (persColl->m_bcId);
77  transColl->setL1Id (persColl->m_l1Id);
78  transColl->setOrbit (persColl->m_orbit);
79 
80  if(persColl->m_errors!=0) {transColl->setErrors (persColl->m_errors);}
81  transColl->setRodStatus (persColl->m_rodStatus);
82  transColl->setLocalStatus (persColl->m_localStatus);
83 }
84 
TgcRdo::identify
uint16_t identify() const
Definition: TgcRdo.h:107
TgcRdo_p4.h
TgcRdo::setL1Id
void setL1Id(uint32_t v)
Definition: TgcRdo.h:119
TgcRdo::setRodStatus
void setRodStatus(uint32_t data)
Definition: TgcRdo.h:178
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TgcRdo_p4::m_triggerType
uint16_t m_triggerType
Definition: TgcRdo_p4.h:32
TgcRdo_p4::m_subDetectorId
uint16_t m_subDetectorId
Definition: TgcRdo_p4.h:28
TgcRdo_p4::m_l1Id
uint16_t m_l1Id
Definition: TgcRdo_p4.h:36
TgcRdo::localStatus
const LocalStatus & localStatus() const
Definition: TgcRdo.h:190
TPCnvVector::persToTrans
virtual void persToTrans(const PERS *persVect, TRANS *transVect, MsgStream &log)
Converts vector of PERS::value_type objects to vector of TRANS::value_type objects,...
TgcRdo_p4::m_rodStatus
uint32_t m_rodStatus
Definition: TgcRdo_p4.h:39
TgcRdo::rodStatus
const RodStatus & rodStatus() const
Definition: TgcRdo.h:174
TgcRdo::setTriggerType
void setTriggerType(uint16_t v)
Definition: TgcRdo.h:127
TgcRdoCnv_p4::persToTrans
virtual void persToTrans(const TgcRdo_p4 *persColl, TgcRdo *transColl, MsgStream &log)
Definition: TgcRdoCnv_p4.cxx:64
TgcRdo::triggerType
uint16_t triggerType() const
Definition: TgcRdo.h:142
TgcRdo::l1Id
uint16_t l1Id() const
Definition: TgcRdo.h:150
TgcRdo::LocalStatus
Definition: TgcRdo.h:77
TgcRdo::setErrors
void setErrors(uint16_t data)
Definition: TgcRdo.h:162
TgcRdo::orbit
uint32_t orbit() const
Definition: TgcRdo.h:206
TgcRdo_p4::m_orbit
uint32_t m_orbit
Definition: TgcRdo_p4.h:41
TgcRdo::subDetectorId
uint16_t subDetectorId() const
Definition: TgcRdo.h:134
TgcRdo::setOrbit
void setOrbit(uint32_t orbit)
Definition: TgcRdo.h:210
lumiFormat.i
int i
Definition: lumiFormat.py:92
TPCnvVector::transToPers
virtual void transToPers(const TRANS *transVect, PERS *persVect, MsgStream &log)
Converts vector of TRANS::value_type objects to vector of PERS::value_type objects,...
TgcRdo_p4::m_version
uint16_t m_version
Definition: TgcRdo_p4.h:20
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
TgcRdo_p4::m_bcId
uint16_t m_bcId
Definition: TgcRdo_p4.h:35
TgcRdo.h
TgcRdo_p4::m_rodId
uint16_t m_rodId
Definition: TgcRdo_p4.h:29
TgcRdo::bcId
uint16_t bcId() const
Definition: TgcRdo.h:146
mergePhysValFiles.errors
list errors
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:43
TgcRdo_p4::m_errors
uint32_t m_errors
Definition: TgcRdo_p4.h:38
TgcRdo_p4
Definition: TgcRdo_p4.h:13
TgcRdo::RodStatus
Definition: TgcRdo.h:45
TgcRdo::errors
const Errors & errors() const
Definition: TgcRdo.h:158
TgcRdo_p4::m_localStatus
uint32_t m_localStatus
Definition: TgcRdo_p4.h:40
TgcRdo::setOnlineId
void setOnlineId(uint16_t subDetectorId, uint16_t rodId)
Definition: TgcRdo.cxx:35
TgcRdo::version
uint16_t version() const
Definition: TgcRdo.h:215
TgcRdoCnv_p4.h
DEBUG
#define DEBUG
Definition: page_access.h:11
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
TgcRdo::setVersion
void setVersion(uint16_t version)
Definition: TgcRdo.h:220
TgcRawDataCnv_p4.h
TgcRdo::setBcId
void setBcId(uint16_t v)
Definition: TgcRdo.h:123
TgcRdo_p4::m_id
uint16_t m_id
Definition: TgcRdo_p4.h:23
TgcRdo::setLocalStatus
void setLocalStatus(uint32_t data)
Definition: TgcRdo.h:194
TgcRdoCnv_p4::transToPers
virtual void transToPers(const TgcRdo *transColl, TgcRdo_p4 *persColl, MsgStream &log)
Definition: TgcRdoCnv_p4.cxx:31
TgcRdo
Definition: TgcRdo.h:22
TgcRdo::rodId
uint16_t rodId() const
Definition: TgcRdo.h:138
TgcRdo::Errors
Definition: TgcRdo.h:36