ATLAS Offline Software
Loading...
Searching...
No Matches
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
15#include <vector>
16#include <memory>
17#include <cstdint>
18
19
21 public LArCondFlatBase
22{
23
24protected:
26
27 public:
28
29 enum {
30 //Encoding
31 //0R0P PPPP
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
63protected:
65 const uint8_t* m_pBlob{};
66 unsigned m_nFebs{};
67
68};
69
70CLASS_DEF( LArDSPConfig , 131172224 , 1 )
71
72
74
75
76public:
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
87private:
88 std::unique_ptr<AthenaAttributeList> m_attrListNC;
89 uint8_t* m_pBlob_nc{};
90 //uint8_t m_nSamples;
91};
92
93
94#endif
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An AttributeList represents a logical row of attributes in a metadata table.
An AttributeList represents a logical row of attributes in a metadata table.
This is a "hash" representation of an Identifier.
LArCondFlatBase(const std::string &name)
const LArOnlineID * m_onlineHelper
void set(const IdentifierHash febId, const uint8_t peakSample, const bool useMGRampIntercept)
uint8_t * m_pBlob_nc
std::unique_ptr< AthenaAttributeList > m_attrListNC
std::unique_ptr< AthenaAttributeList > attributeList()
bool useLGRampInterceptByHash(const IdentifierHash &febHash) const
bool useLGRampIntercept(const HWIdentifier FEBid) const
virtual ~LArDSPConfig()
unsigned m_nFebs
uint8_t peakSampleByHash(const IdentifierHash &febHash) const
const uint8_t * m_pBlob
const AthenaAttributeList * m_attrList
bool useMGRampIntercept(const HWIdentifier FEBid) const
bool useHGRampInterceptByHash(const IdentifierHash &febHash) const
bool good() const
bool useMGRampInterceptByHash(const IdentifierHash &febHash) const
uint8_t peakSample(const HWIdentifier FEBid) const
bool useHGRampIntercept(const HWIdentifier FEBid) const