ATLAS Offline Software
Loading...
Searching...
No Matches
LArNoisyROSummaryCnv_p2.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8void LArNoisyROSummaryCnv_p2::transToPers(const LArNoisyROSummary* trans, LArNoisyROSummary_p2* pers, MsgStream & log) const
9{
10 //typedef std::vector< std::pair<HWIdentifier, std::vector<int> > > PAcont;
11 log << MSG::DEBUG << " in LArNoisyROSummaryCnv_p2::transToPers " << endmsg;
12
13 size_t sfebs = trans->get_noisy_febs().size();
14 pers->m_noisy_febs.reserve(sfebs);
15 for (const HWIdentifier& hwid : trans->get_noisy_febs())
16 {
17 pers->m_noisy_febs.push_back (hwid.get_identifier32().get_compact());
18 }
19
20 pers->m_noisy_preamps.clear();
21 pers->m_noisy_preamps.reserve(trans->get_noisy_preamps().size());
22 for (const std::pair<HWIdentifier, std::vector<int> >& p :
23 trans->get_noisy_preamps())
24 {
25 pers->m_noisy_preamps.emplace_back (p.first.get_identifier32().get_compact(),
26 p.second);
27 }
28
32}
33
34void LArNoisyROSummaryCnv_p2::persToTrans(const LArNoisyROSummary_p2* pers, LArNoisyROSummary* trans, MsgStream & log ) const
35{
36 log << MSG::DEBUG << " in LArNoisyROSummaryCnv_p2::persToTrans " << endmsg;
37 trans->clear();
38
39 size_t sfebs = pers->m_noisy_febs.size();
40 for ( size_t i = 0; i < sfebs; i++)
41 {
42 HWIdentifier febId(Identifier32(pers->m_noisy_febs[i]));
43 trans->add_noisy_feb(febId);
44 }
45
46 size_t spas = pers->m_noisy_preamps.size();
47 for ( size_t i = 0; i < spas; i++)
48 {
49 size_t schan = pers->m_noisy_preamps[i].second.size();
50 for ( size_t j = 0; j < schan; j++ )
51 {
52 HWIdentifier febId(Identifier32(pers->m_noisy_preamps[i].first));
53 trans->add_noisy_preamp(febId,pers->m_noisy_preamps[i].second[j]);
54 }
55 }
56
60}
#define endmsg
virtual void transToPers(const LArNoisyROSummary *trans, LArNoisyROSummary_p2 *pers, MsgStream &log) const override
virtual void persToTrans(const LArNoisyROSummary_p2 *pers, LArNoisyROSummary *trans, MsgStream &log) const override
std::vector< unsigned int > m_noisy_febs
std::vector< std::pair< unsigned int, std::vector< int > > > m_noisy_preamps
Summary information for noisy LAr preamp / FEBs.
void add_noisy_preamp(HWIdentifier febid, int channel)
uint8_t BadFEBFlaggedPartitions() const
void SetSatTightFlaggedPartitions(uint8_t bitpattern)
void SetBadFEBFlaggedPartitions(uint8_t bitpattern)
void SetSatMediumFlaggedPartitions(uint8_t bitpattern)
uint8_t SatMediumFlaggedPartitions() const
const std::vector< HWIdentifier > & get_noisy_febs() const
const std::vector< std::pair< HWIdentifier, std::vector< int > > > & get_noisy_preamps() const
uint8_t SatTightFlaggedPartitions() const
void add_noisy_feb(HWIdentifier febid)