ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArBadChannelTool
LArBadChannelTool
LArBadChanContainerHashed.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef LArBadChanContainerHashed_H
6
#define LArBadChanContainerHashed_H
7
8
#include "
LArRecConditions/LArBadChannel.h
"
9
#include "
LArRecConditions/LArBadFeb.h
"
10
#include "
LArBadChannelTool/LArBadChanFebState.h
"
11
#include "
LArBadChannelTool/LArBadChanFEBHasher.h
"
12
13
class
LArBadChanContainerHashed
{
14
public
:
15
16
typedef
std::pair<HWIdentifier,LArBadChannel>
BadChanEntry
;
17
typedef
std::pair<HWIdentifier,LArBadFeb>
BadFebEntry
;
18
typedef
std::vector<BadChanEntry>
BadChanVec
;
19
typedef
BadChanVec::const_iterator
const_iterator
;
20
typedef
BadChanVec::size_type
size_type
;
21
22
public
:
23
24
LArBadChanContainerHashed
() {}
25
26
explicit
LArBadChanContainerHashed
(
const
LArBadChanFEBHasher
&
h
) :
m_hasher
(
h
) {}
27
28
LArBadChanContainerHashed
(
const
BadChanVec
&
vec
) {
set
(
vec
);}
29
30
LArBadChannel
status
(
const
HWIdentifier
& channelID)
const
{
31
return
m_febVec
.at(
m_hasher
.febHashByChan( channelID)).status(
m_hasher
.channelInFeb( channelID));
32
}
33
34
LArBadChannel
status
(
const
HWIdentifier
& feb,
int
ch)
const
{
35
return
m_febVec
.at(
m_hasher
.hashFEB( feb)).status( ch);
36
}
37
38
bool
febBad
(
HWIdentifier
febId)
const
{
39
return
m_febVec
.at(
m_hasher
.hashFEB( febId)).bad();
40
}
41
42
bool
febAllGood
(
HWIdentifier
febId)
const
{
43
return
m_febVec
.at(
m_hasher
.hashFEB( febId)).empty();
44
}
45
46
LArBadFeb
febStatus
(
HWIdentifier
febId)
const
{
47
return
m_febVec
.at(
m_hasher
.hashFEB( febId)).febStatus();
48
}
49
50
const_iterator
begin
()
const
{
return
m_bcv
.begin();}
51
const_iterator
end
()
const
{
return
m_bcv
.end();}
52
size_type
size
()
const
{
return
m_bcv
.size();}
53
54
void
set
(
const
BadChanVec
& cont);
55
56
void
setBadFEBs
(
const
std::vector<BadFebEntry>& badFebs);
57
58
void
setHasher
(
const
LArBadChanFEBHasher
& hasher) {
m_hasher
= hasher;}
59
60
private
:
61
62
typedef
unsigned
int
HashType
;
63
64
std::vector<LArBadChanFebState>
m_febVec
;
65
LArBadChanFEBHasher
m_hasher
;
66
BadChanVec
m_bcv
;
67
68
void
init
();
69
70
};
71
72
#endif
vec
std::vector< size_t > vec
Definition
CombinationsGeneratorTest.cxx:9
LArBadChanFEBHasher.h
LArBadChanFebState.h
LArBadChannel.h
LArBadFeb.h
h
Header file for AthHistogramAlgorithm.
HWIdentifier
Definition
HWIdentifier.h:13
LArBadChanContainerHashed::HashType
unsigned int HashType
Definition
LArBadChanContainerHashed.h:62
LArBadChanContainerHashed::set
void set(const BadChanVec &cont)
Definition
LArBadChanContainerHashed.cxx:7
LArBadChanContainerHashed::const_iterator
BadChanVec::const_iterator const_iterator
Definition
LArBadChanContainerHashed.h:19
LArBadChanContainerHashed::LArBadChanContainerHashed
LArBadChanContainerHashed()
Definition
LArBadChanContainerHashed.h:24
LArBadChanContainerHashed::BadFebEntry
std::pair< HWIdentifier, LArBadFeb > BadFebEntry
Definition
LArBadChanContainerHashed.h:17
LArBadChanContainerHashed::end
const_iterator end() const
Definition
LArBadChanContainerHashed.h:51
LArBadChanContainerHashed::m_febVec
std::vector< LArBadChanFebState > m_febVec
Definition
LArBadChanContainerHashed.h:64
LArBadChanContainerHashed::BadChanVec
std::vector< BadChanEntry > BadChanVec
Definition
LArBadChanContainerHashed.h:18
LArBadChanContainerHashed::LArBadChanContainerHashed
LArBadChanContainerHashed(const LArBadChanFEBHasher &h)
Definition
LArBadChanContainerHashed.h:26
LArBadChanContainerHashed::febAllGood
bool febAllGood(HWIdentifier febId) const
Definition
LArBadChanContainerHashed.h:42
LArBadChanContainerHashed::LArBadChanContainerHashed
LArBadChanContainerHashed(const BadChanVec &vec)
Definition
LArBadChanContainerHashed.h:28
LArBadChanContainerHashed::BadChanEntry
std::pair< HWIdentifier, LArBadChannel > BadChanEntry
Definition
LArBadChanContainerHashed.h:16
LArBadChanContainerHashed::size_type
BadChanVec::size_type size_type
Definition
LArBadChanContainerHashed.h:20
LArBadChanContainerHashed::febStatus
LArBadFeb febStatus(HWIdentifier febId) const
Definition
LArBadChanContainerHashed.h:46
LArBadChanContainerHashed::status
LArBadChannel status(const HWIdentifier &channelID) const
Definition
LArBadChanContainerHashed.h:30
LArBadChanContainerHashed::init
void init()
Definition
LArBadChanContainerHashed.cxx:22
LArBadChanContainerHashed::m_bcv
BadChanVec m_bcv
Definition
LArBadChanContainerHashed.h:66
LArBadChanContainerHashed::size
size_type size() const
Definition
LArBadChanContainerHashed.h:52
LArBadChanContainerHashed::setBadFEBs
void setBadFEBs(const std::vector< BadFebEntry > &badFebs)
Definition
LArBadChanContainerHashed.cxx:30
LArBadChanContainerHashed::febBad
bool febBad(HWIdentifier febId) const
Definition
LArBadChanContainerHashed.h:38
LArBadChanContainerHashed::status
LArBadChannel status(const HWIdentifier &feb, int ch) const
Definition
LArBadChanContainerHashed.h:34
LArBadChanContainerHashed::m_hasher
LArBadChanFEBHasher m_hasher
Definition
LArBadChanContainerHashed.h:65
LArBadChanContainerHashed::setHasher
void setHasher(const LArBadChanFEBHasher &hasher)
Definition
LArBadChanContainerHashed.h:58
LArBadChanContainerHashed::begin
const_iterator begin() const
Definition
LArBadChanContainerHashed.h:50
LArBadChanFEBHasher
Definition
LArBadChanFEBHasher.h:10
LArBadChannel
Definition
LArBadChannel.h:10
LArBadFeb
Definition
LArBadFeb.h:10
Generated on
for ATLAS Offline Software by
1.17.0