ATLAS Offline Software
TileDigitsCnv_p1.cxx
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // TileDigitsCnv_p1.cxx
8 // Implementation file for class TileDigitsCnv_p1
9 // Author: Alexander Solodkov <Sanya.Solodkov@cern.ch>
10 // Date: June 2009
12 
13 #include "TileEvent/TileDigits.h"
15 
16 
17 void
18 TileDigitsCnv_p1::persToTrans(const TileDigits_p1* persObj, TileDigits* transObj, MsgStream &/*log*/) const
19 {
20  std::vector<float> digits;
21  digits.reserve(persObj->m_digits.size());
22  for (short d : persObj->m_digits) {
23  digits.push_back( d / 16. );
24  }
25 
26  *transObj = TileDigits (HWIdentifier(Identifier32(persObj->m_channelID)),
27  std::move(digits));
28 }
29 
30 
31 void
32 TileDigitsCnv_p1::transToPers(const TileDigits* transObj, TileDigits_p1* persObj, MsgStream &/*log*/) const
33 {
34  persObj->m_channelID = transObj->adc_HWID().get_identifier32().get_compact();
35 
36  persObj->m_digits.reserve(transObj->nsamples());
37  for (float d : transObj->samples()) {
38  short val = (short)(std::min(d,2047.F)*16.);
39  persObj->m_digits.push_back( val );
40  }
41 }
TileDigits_p1
Definition: TileDigits_p1.h:20
Identifier32
Definition: Identifier32.h:25
xAOD::short
short
Definition: Vertex_v1.cxx:165
hist_file_dump.d
d
Definition: hist_file_dump.py:137
TileDigits::nsamples
int nsamples() const
Definition: TileDigits.h:55
TileRawData::adc_HWID
HWIdentifier adc_HWID(void) const
Definition: TileRawData.h:53
HWIdentifier
Definition: HWIdentifier.h:13
TileDigitsCnv_p1::persToTrans
virtual void persToTrans(const TileDigits_p1 *persObj, TileDigits *transObj, MsgStream &log) const override
Method creating the transient representation TileDigits from its persistent representation TileDigits...
Definition: TileDigitsCnv_p1.cxx:18
TileDigitsCnv_p1.h
TileDigits_p1::m_channelID
unsigned int m_channelID
Definition: TileDigits_p1.h:33
Identifier32::get_compact
value_type get_compact(void) const
Get the compact id.
Definition: Identifier32.h:171
TileDigitsCnv_p1::transToPers
virtual void transToPers(const TileDigits *transObj, TileDigits_p1 *persObj, MsgStream &log) const override
Method creating the persistent representation TileDigits_p1 from its transient representation TileDig...
Definition: TileDigitsCnv_p1.cxx:32
TileDigits::samples
const std::vector< float > & samples() const
Definition: TileDigits.h:58
min
#define min(a, b)
Definition: cfImp.cxx:40
TileDigits
Definition: TileDigits.h:30
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
F
#define F(x, y, z)
Definition: MD5.cxx:112
TileDigits_p1::m_digits
std::vector< short > m_digits
Definition: TileDigits_p1.h:34
Identifier::get_identifier32
Identifier32 get_identifier32(void) const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
TileDigits.h