ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArBadChannelTool
LArBadChannelTool
LArBadChanBlobUtils.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 LArBadChanBlobUtils_H
6
#define LArBadChanBlobUtils_H
7
8
#include "CoolKernel/types.h"
9
10
#include "
Identifier/HWIdentifier.h
"
11
#include "
LArRecConditions/LArBadChannel.h
"
12
#include "
LArRecConditions/LArBadFeb.h
"
13
14
#include "GaudiKernel/MsgStream.h"
15
16
#include <vector>
17
18
namespace
LArBadChanBlobUtils
{
19
20
typedef
std::pair<HWIdentifier, LArBadChannel>
BadChanEntry
;
21
typedef
std::pair<HWIdentifier, LArBadFeb>
BadFebEntry
;
22
typedef
std::vector<BadChanEntry>
BadChanVec
;
23
typedef
std::vector<BadFebEntry>
BadFebVec
;
24
typedef
Identifier32::value_type
Channel
;
25
26
enum
Endianness
{
LittleEndian
,
BigEndian
};
27
28
int
machineEndianness
();
29
32
// but fill the blob with vector of pair<HWIdentifier32, LArBadChannel>
35
template
<
class
T>
36
void
fillBlob
(
const
std::vector< std::pair<HWIdentifier,T> >&
vec
, coral::Blob& blob);
37
38
void
fillFebBlobV1
(
const
std::vector<HWIdentifier>&
vec
, coral::Blob& blob);
39
48
template
<
class
T>
49
std::vector<std::pair<HWIdentifier,T> >
decodeBlob
(
const
coral::Blob* blobp,
50
std::size_t chanSize,
51
std::size_t stateSize,
52
int
endian,
53
int
version,
54
MsgStream& log);
55
56
std::vector<HWIdentifier>
decodeFebBlobV1
(
const
coral::Blob* blobp,
57
std::size_t chanSize,
58
int
endian,
59
int
version,
60
MsgStream& log);
61
62
bool
checkBlob
(
const
coral::Blob* blobp,
63
std::size_t chanSize,
64
std::size_t stateSizeInBlob,
65
int
endian,
66
int
/*version*/
,
67
std::size_t step,
68
std::size_t currentStateSize,
69
MsgStream& log);
70
}
71
72
#include "
LArBadChannelTool/LArBadChanBlobUtils.icc
"
73
74
#endif
vec
std::vector< size_t > vec
Definition
CombinationsGeneratorTest.cxx:9
HWIdentifier.h
LArBadChanBlobUtils.icc
LArBadChannel.h
LArBadFeb.h
Identifier32::value_type
unsigned int value_type
Definition
Identifier32.h:31
LArBadChanBlobUtils
Definition
LArBadChanBlobUtils.h:18
LArBadChanBlobUtils::checkBlob
bool checkBlob(const coral::Blob *blobp, std::size_t chanSize, std::size_t stateSizeInBlob, int endian, int, std::size_t step, std::size_t currentStateSize, MsgStream &log)
Definition
LArBadChanBlobUtils.cxx:30
LArBadChanBlobUtils::BadFebEntry
std::pair< HWIdentifier, LArBadFeb > BadFebEntry
Definition
LArBadChanBlobUtils.h:21
LArBadChanBlobUtils::decodeBlob
std::vector< std::pair< HWIdentifier, T > > decodeBlob(const coral::Blob *blobp, std::size_t chanSize, std::size_t stateSize, int endian, int version, MsgStream &log)
Checks BLOB for differences in endian-ness and size of data types with respect to the architecture on...
LArBadChanBlobUtils::BadChanVec
std::vector< BadChanEntry > BadChanVec
Definition
LArBadChanBlobUtils.h:22
LArBadChanBlobUtils::fillBlob
void fillBlob(const std::vector< std::pair< HWIdentifier, T > > &vec, coral::Blob &blob)
Creates a BLOB of the right size and copies the content of the vector of pair<HWIdentifier,...
LArBadChanBlobUtils::Channel
Identifier32::value_type Channel
Definition
LArBadChanBlobUtils.h:24
LArBadChanBlobUtils::decodeFebBlobV1
std::vector< HWIdentifier > decodeFebBlobV1(const coral::Blob *blobp, std::size_t chanSize, int endian, int version, MsgStream &log)
Definition
LArBadChanBlobUtils.cxx:72
LArBadChanBlobUtils::machineEndianness
int machineEndianness()
Definition
LArBadChanBlobUtils.cxx:9
LArBadChanBlobUtils::BadChanEntry
std::pair< HWIdentifier, LArBadChannel > BadChanEntry
Definition
LArBadChanBlobUtils.h:20
LArBadChanBlobUtils::Endianness
Endianness
Definition
LArBadChanBlobUtils.h:26
LArBadChanBlobUtils::BigEndian
@ BigEndian
Definition
LArBadChanBlobUtils.h:26
LArBadChanBlobUtils::LittleEndian
@ LittleEndian
Definition
LArBadChanBlobUtils.h:26
LArBadChanBlobUtils::BadFebVec
std::vector< BadFebEntry > BadFebVec
Definition
LArBadChanBlobUtils.h:23
LArBadChanBlobUtils::fillFebBlobV1
void fillFebBlobV1(const std::vector< HWIdentifier > &vec, coral::Blob &blob)
Definition
LArBadChanBlobUtils.cxx:17
Generated on
for ATLAS Offline Software by
1.17.0