ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCOOLConditions
LArCOOLConditions
LArDSPConfig.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//Dear emacs, this is -*-c++-*-
6
7
#ifndef LARCOOLCONDITIONS_LARDSPCONIFG_H
8
#define LARCOOLCONDITIONS_LARDSPCONIFG_H
9
10
#include "
LArCOOLConditions/LArCondFlatBase.h
"
11
#include "
PersistentDataModel/AthenaAttributeList.h
"
12
#include "
LArIdentifier/LArOnlineID.h
"
13
#include "
Identifier/HWIdentifier.h
"
14
#include "
Identifier/IdentifierHash.h
"
15
#include <vector>
16
#include <memory>
17
#include <cstdint>
18
19
20
class
LArDSPConfig
:
21
public
LArCondFlatBase
22
{
23
24
protected
:
25
LArDSPConfig
();
26
27
public
:
28
29
enum
{
30
//Encoding
31
//0R0P PPPP
32
PEAKSAMPLE_MASK
=0x1F,
33
HGRAMPINTERCEPT_MASK
=0x20,
34
MGRAMPINTERCEPT_MASK
=0x40,
35
LGRAMPINTERCEPT_MASK
=0x80,
36
};
37
38
39
LArDSPConfig
(
const
AthenaAttributeList
* attrList);
40
virtual
~LArDSPConfig
();
41
42
bool
good
()
const
{
return
m_isInitialized
&&
m_nFebs
>0; }
43
44
45
bool
useMGRampInterceptByHash
(
const
IdentifierHash
& febHash)
const
;
46
bool
useHGRampInterceptByHash
(
const
IdentifierHash
& febHash)
const
;
47
bool
useLGRampInterceptByHash
(
const
IdentifierHash
& febHash)
const
;
48
bool
useMGRampIntercept
(
const
HWIdentifier
FEBid)
const
{
49
return
useMGRampInterceptByHash
(
m_onlineHelper
->feb_Hash(FEBid));
50
};
51
bool
useHGRampIntercept
(
const
HWIdentifier
FEBid)
const
{
52
return
useHGRampInterceptByHash
(
m_onlineHelper
->feb_Hash(FEBid));
53
};
54
bool
useLGRampIntercept
(
const
HWIdentifier
FEBid)
const
{
55
return
useLGRampInterceptByHash
(
m_onlineHelper
->feb_Hash(FEBid));
56
};
57
58
uint8_t
peakSampleByHash
(
const
IdentifierHash
& febHash)
const
;
59
uint8_t
peakSample
(
const
HWIdentifier
FEBid)
const
{
60
return
peakSampleByHash
(
m_onlineHelper
->feb_Hash(FEBid));
61
}
62
63
protected
:
64
const
AthenaAttributeList
*
m_attrList
{};
65
const
uint8_t*
m_pBlob
{};
66
unsigned
m_nFebs
{};
67
68
};
69
70
CLASS_DEF
(
LArDSPConfig
, 131172224 , 1 )
71
72
73
class
LArDSPConfigWrite
: public
LArDSPConfig
{
74
75
76
public
:
77
LArDSPConfigWrite
();
78
79
//void initializeBlob(const nSamples);
80
81
void
set
(
const
IdentifierHash
febId,
82
const
uint8_t
peakSample
,
83
const
bool
useMGRampIntercept
);
84
85
std::unique_ptr<AthenaAttributeList>
attributeList
() {
return
std::move(
m_attrListNC
); }
86
87
private
:
88
std::unique_ptr<AthenaAttributeList>
m_attrListNC
;
89
uint8_t*
m_pBlob_nc
{};
90
//uint8_t m_nSamples;
91
};
92
93
94
#endif
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
HWIdentifier.h
IdentifierHash.h
LArCondFlatBase.h
LArOnlineID.h
AthenaAttributeList.h
An AttributeList represents a logical row of attributes in a metadata table.
AthenaAttributeList
An AttributeList represents a logical row of attributes in a metadata table.
Definition
PersistentDataModel/PersistentDataModel/AthenaAttributeList.h:46
HWIdentifier
Definition
HWIdentifier.h:13
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
LArCondFlatBase::LArCondFlatBase
LArCondFlatBase(const std::string &name)
Definition
LArCondFlatBase.cxx:19
LArCondFlatBase::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition
LArCondFlatBase.h:25
LArCondFlatBase::m_isInitialized
bool m_isInitialized
Definition
LArCondFlatBase.h:24
LArDSPConfigWrite::set
void set(const IdentifierHash febId, const uint8_t peakSample, const bool useMGRampIntercept)
Definition
LArDSPConfig.cxx:74
LArDSPConfigWrite::LArDSPConfigWrite
LArDSPConfigWrite()
Definition
LArDSPConfig.cxx:45
LArDSPConfigWrite::m_pBlob_nc
uint8_t * m_pBlob_nc
Definition
LArDSPConfig.h:89
LArDSPConfigWrite::m_attrListNC
std::unique_ptr< AthenaAttributeList > m_attrListNC
Definition
LArDSPConfig.h:88
LArDSPConfigWrite::attributeList
std::unique_ptr< AthenaAttributeList > attributeList()
Definition
LArDSPConfig.h:85
LArDSPConfig
Definition
LArDSPConfig.h:22
LArDSPConfig::useLGRampInterceptByHash
bool useLGRampInterceptByHash(const IdentifierHash &febHash) const
Definition
LArDSPConfig.cxx:41
LArDSPConfig::useLGRampIntercept
bool useLGRampIntercept(const HWIdentifier FEBid) const
Definition
LArDSPConfig.h:54
LArDSPConfig::~LArDSPConfig
virtual ~LArDSPConfig()
Definition
LArDSPConfig.cxx:14
LArDSPConfig::LGRAMPINTERCEPT_MASK
@ LGRAMPINTERCEPT_MASK
Definition
LArDSPConfig.h:35
LArDSPConfig::PEAKSAMPLE_MASK
@ PEAKSAMPLE_MASK
Definition
LArDSPConfig.h:32
LArDSPConfig::MGRAMPINTERCEPT_MASK
@ MGRAMPINTERCEPT_MASK
Definition
LArDSPConfig.h:34
LArDSPConfig::HGRAMPINTERCEPT_MASK
@ HGRAMPINTERCEPT_MASK
Definition
LArDSPConfig.h:33
LArDSPConfig::m_nFebs
unsigned m_nFebs
Definition
LArDSPConfig.h:66
LArDSPConfig::peakSampleByHash
uint8_t peakSampleByHash(const IdentifierHash &febHash) const
Definition
LArDSPConfig.cxx:29
LArDSPConfig::m_pBlob
const uint8_t * m_pBlob
Definition
LArDSPConfig.h:65
LArDSPConfig::LArDSPConfig
LArDSPConfig()
Definition
LArDSPConfig.cxx:9
LArDSPConfig::m_attrList
const AthenaAttributeList * m_attrList
Definition
LArDSPConfig.h:64
LArDSPConfig::useMGRampIntercept
bool useMGRampIntercept(const HWIdentifier FEBid) const
Definition
LArDSPConfig.h:48
LArDSPConfig::useHGRampInterceptByHash
bool useHGRampInterceptByHash(const IdentifierHash &febHash) const
Definition
LArDSPConfig.cxx:37
LArDSPConfig::good
bool good() const
Definition
LArDSPConfig.h:42
LArDSPConfig::useMGRampInterceptByHash
bool useMGRampInterceptByHash(const IdentifierHash &febHash) const
Definition
LArDSPConfig.cxx:33
LArDSPConfig::peakSample
uint8_t peakSample(const HWIdentifier FEBid) const
Definition
LArDSPConfig.h:59
LArDSPConfig::useHGRampIntercept
bool useHGRampIntercept(const HWIdentifier FEBid) const
Definition
LArDSPConfig.h:51
Generated on
for ATLAS Offline Software by
1.17.0