ATLAS Offline Software
Loading...
Searching...
No Matches
LArCalorimeter
LArCnv
LArTPCnv
src
LArRawChannelCnv_p1.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
LArRawEvent/LArRawChannel.h
"
6
#include "
CaloIdentifier/CaloGain.h
"
7
#include "
LArTPCnv/LArRawChannelCnv_p1.h
"
8
#include <cstdint>
9
10
// LArRawChannelCnv_p1, used for T/P separation
11
// author R.Seuster <seuster@cern.ch>
12
13
void
LArRawChannelCnv_p1::transToPers
(
const
LArRawChannel
*
/*trans*/
,
LArRawChannel_p1
*
/*pers*/
, MsgStream &
/*log*/
)
const
14
{
15
// No longer used
16
}
17
18
void
19
LArRawChannelCnv_p1::persToTrans
(
const
LArRawChannel_p1
* pers,
LArRawChannel
* trans,
20
MsgStream&
/*log*/
)
const
21
{
22
static
constexpr
uint32_t invalidQuality = 0xFFFFU;
23
// Preserve the previous little-endian union layout explicitly:
24
// low 16 bits -> quality, high 16 bits -> provenance.
25
const
uint32_t q =
static_cast<
uint32_t
>
(pers->
m_qualityandgain
) & 0xFFFFU;
26
27
const
uint32_t qualProv = (q == invalidQuality) ? 0x00A50000U : (0x20A50000U | q);
28
*trans =
LArRawChannel
{
29
HWIdentifier
{
Identifier32
{pers->
m_channelID
}},
30
pers->
m_energy
,
31
pers->
m_time
,
32
static_cast<
uint16_t
>
(qualProv & 0xFFFFU),
// quality
33
static_cast<
uint16_t
>
((qualProv >> 16) & 0xFFFFU),
// provenance
34
static_cast<
CaloGain::CaloGain
>
((pers->
m_qualityandgain
>> 16) & 0xF)
35
};
36
}
CaloGain.h
LArRawChannelCnv_p1.h
LArRawChannel.h
HWIdentifier
Definition
HWIdentifier.h:13
Identifier32
Definition
Identifier32.h:28
LArRawChannelCnv_p1::transToPers
virtual void transToPers(const LArRawChannel *trans, LArRawChannel_p1 *pers, MsgStream &log) const override
Definition
LArRawChannelCnv_p1.cxx:13
LArRawChannelCnv_p1::persToTrans
virtual void persToTrans(const LArRawChannel_p1 *pers, LArRawChannel *trans, MsgStream &log) const override
Definition
LArRawChannelCnv_p1.cxx:19
LArRawChannel_p1
persistent class for LArRawChannel, version p1.
Definition
LArRawChannel_p1.h:14
LArRawChannel_p1::m_energy
int m_energy
Definition
LArRawChannel_p1.h:31
LArRawChannel_p1::m_qualityandgain
int m_qualityandgain
Definition
LArRawChannel_p1.h:34
LArRawChannel_p1::m_time
int m_time
Definition
LArRawChannel_p1.h:32
LArRawChannel_p1::m_channelID
unsigned int m_channelID
Definition
LArRawChannel_p1.h:30
LArRawChannel
Liquid Argon ROD output object base class.
Definition
LArRawChannel.h:40
CaloGain::CaloGain
CaloGain
Definition
CaloGain.h:11
Generated on
for ATLAS Offline Software by
1.16.1