ATLAS Offline Software
MM_RawDataCnv_p2.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
5 
7 {
8  // Not much point calling this!
9 }
10 
11 void Muon::MM_RawDataCnv_p2::transToPers( const Muon::MM_RawData *transObj, Muon::MM_RawData_p2 *persObj, MsgStream & )
12 {
13  persObj->m_id = transObj->m_id.get_identifier32().get_compact();
14  persObj->m_channel = transObj->channel();
15  persObj->m_time = transObj->time();
16  persObj->m_charge = transObj->charge();
17  persObj->m_relBcid = transObj->relBcid();
18 }
19 
21 {
22 // since the persistent class used uint for the member variables and the transient one uses int,
23 // the static cast is added here explicitly
24 Muon::MM_RawData* trans = new MM_RawData( Identifier (persObj->m_id),
25  static_cast<int>(persObj->m_channel),
26  static_cast<int>(persObj->m_time),
27  static_cast<int>(persObj->m_charge),
28  persObj->m_relBcid,
29  false ); // any RDOs produced with this persistent version have the time and the charge in physical units. pscholer March 2022
30 
31  return trans;
32 }
33 
Muon::MM_RawData::relBcid
uint16_t relBcid() const
Definition: MM_RawData.h:65
Muon::MM_RawData_p2
Definition: MM_RawData_p2.h:12
Muon::MM_RawDataCnv_p2::createTransient
virtual MM_RawData * createTransient(const MM_RawData_p2 *persObj, MsgStream &log) override final
Definition: MM_RawDataCnv_p2.cxx:20
Muon::MM_RawData::time
int time() const
Definition: MM_RawData.h:64
MM_RawDataCnv_p2.h
Muon::MM_RawDataCnv_p2::transToPers
void transToPers(const MM_RawData *transObj, MM_RawData_p2 *persObj, MsgStream &log) override final
Definition: MM_RawDataCnv_p2.cxx:11
Identifier32::get_compact
value_type get_compact(void) const
Get the compact id.
Definition: Identifier32.h:171
Muon::MM_RawData
Temporary class to hold the MM RDO.
Definition: MM_RawData.h:20
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
Muon::MM_RawData_p2::m_charge
unsigned int m_charge
Definition: MM_RawData_p2.h:23
Muon::MM_RawData_p2::m_time
unsigned int m_time
Definition: MM_RawData_p2.h:21
Muon::MM_RawData::channel
int channel() const
Definition: MM_RawData.h:63
Muon::MM_RawData::m_id
Identifier m_id
Definition: MM_RawData.h:29
Muon::MM_RawData::charge
int charge() const
Definition: MM_RawData.h:66
Muon::MM_RawData_p2::m_id
unsigned int m_id
FIXME! Remove this eventually.
Definition: MM_RawData_p2.h:16
Muon::MM_RawDataCnv_p2::persToTrans
void persToTrans(const MM_RawData_p2 *persObj, MM_RawData *transObj, MsgStream &log) override final
Definition: MM_RawDataCnv_p2.cxx:6
Muon::MM_RawData_p2::m_relBcid
uint16_t m_relBcid
Definition: MM_RawData_p2.h:25
Muon::MM_RawData_p2::m_channel
unsigned int m_channel
writing out channel id, time and charge
Definition: MM_RawData_p2.h:19
Identifier::get_identifier32
Identifier32 get_identifier32(void) const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.