ATLAS Offline Software
Loading...
Searching...
No Matches
LArDSPConfig.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
12#include <vector>
13#include <memory>
14
16 public LArCondFlatBase
17{
18
19protected:
21
22 public:
23
24 enum {
25 //Encoding
26 //0R0P PPPP
31 };
32
33
34 LArDSPConfig(const AthenaAttributeList* attrList);
35 virtual ~LArDSPConfig();
36
37 bool good() const { return m_isInitialized && m_nFebs>0; }
38
39
40 bool useMGRampInterceptByHash(const IdentifierHash& febHash) const;
41 bool useHGRampInterceptByHash(const IdentifierHash& febHash) const;
42 bool useLGRampInterceptByHash(const IdentifierHash& febHash) const;
43 bool useMGRampIntercept(const HWIdentifier FEBid) const {
44 return useMGRampInterceptByHash(m_onlineHelper->feb_Hash(FEBid));
45 };
46 bool useHGRampIntercept(const HWIdentifier FEBid) const {
47 return useHGRampInterceptByHash(m_onlineHelper->feb_Hash(FEBid));
48 };
49 bool useLGRampIntercept(const HWIdentifier FEBid) const {
50 return useLGRampInterceptByHash(m_onlineHelper->feb_Hash(FEBid));
51 };
52
53 uint8_t peakSampleByHash(const IdentifierHash& febHash) const;
54 uint8_t peakSample(const HWIdentifier FEBid) const {
55 return peakSampleByHash(m_onlineHelper->feb_Hash(FEBid));
56 }
57
58protected:
60 const uint8_t* m_pBlob;
61 unsigned m_nFebs;
62
63};
64
65CLASS_DEF( LArDSPConfig , 131172224 , 1 )
66
67
69
70
71public:
73
74 //void initializeBlob(const nSamples);
75
76 void set(const IdentifierHash febId,
77 const uint8_t peakSample,
78 const bool useMGRampIntercept);
79
80 std::unique_ptr<AthenaAttributeList> attributeList() { return std::move(m_attrListNC); }
81
82private:
83 std::unique_ptr<AthenaAttributeList> m_attrListNC;
84 uint8_t* m_pBlob_nc;
85 //uint8_t m_nSamples;
86};
87
88
89#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