ATLAS Offline Software
LArDSPConfig.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 //Dear emacs, this is -*-c++-*-
6 
7 #ifndef LARCOOLCONDITIONS_LARDSPCONIFG_H
8 #define LARCOOLCONDITIONS_LARDSPCONIFG_H
9 
11 #include <vector>
12 #include <memory>
13 
15 
16 class LArDSPConfig:
17  public LArCondFlatBase
18 {
19 
20 protected:
21  LArDSPConfig();
22 
23  public:
24 
25  enum {
26  //Encoding
27  //0R0P PPPP
32  };
33 
34 
35  LArDSPConfig(const AthenaAttributeList* attrList);
36  virtual ~LArDSPConfig();
37 
38  bool good() const { return m_isInitialized && m_nFebs>0; }
39 
40 
41  bool useMGRampInterceptByHash(const IdentifierHash& febHash) const;
42  bool useHGRampInterceptByHash(const IdentifierHash& febHash) const;
43  bool useLGRampInterceptByHash(const IdentifierHash& febHash) const;
44  bool useMGRampIntercept(const HWIdentifier FEBid) const {
46  };
47  bool useHGRampIntercept(const HWIdentifier FEBid) const {
49  };
50  bool useLGRampIntercept(const HWIdentifier FEBid) const {
52  };
53 
54  uint8_t peakSampleByHash(const IdentifierHash& febHash) const;
55  uint8_t peakSample(const HWIdentifier FEBid) const {
57  }
58 
59 protected:
61  const uint8_t* m_pBlob;
62  unsigned m_nFebs;
63 
64 };
65 
66 CLASS_DEF( LArDSPConfig , 131172224 , 1 )
67 
68 
70 
71 
72 public:
74 
75  //void initializeBlob(const nSamples);
76 
77  void set(const IdentifierHash febId,
78  const uint8_t peakSample,
79  const bool useMGRampIntercept);
80 
81  std::unique_ptr<AthenaAttributeList> attributeList() { return std::move(m_attrListNC); }
82 
83 private:
84  std::unique_ptr<AthenaAttributeList> m_attrListNC;
86  //uint8_t m_nSamples;
87 };
88 
89 
90 #endif
LArDSPConfig::useLGRampInterceptByHash
bool useLGRampInterceptByHash(const IdentifierHash &febHash) const
Definition: LArDSPConfig.cxx:41
LArDSPConfig::useHGRampInterceptByHash
bool useHGRampInterceptByHash(const IdentifierHash &febHash) const
Definition: LArDSPConfig.cxx:37
LArDSPConfigWrite::m_attrListNC
std::unique_ptr< AthenaAttributeList > m_attrListNC
Definition: LArDSPConfig.h:84
LArDSPConfig::LArDSPConfig
LArDSPConfig()
Definition: LArDSPConfig.cxx:9
LArDSPConfig::useMGRampIntercept
bool useMGRampIntercept(const HWIdentifier FEBid) const
Definition: LArDSPConfig.h:44
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
LArDSPConfig::~LArDSPConfig
virtual ~LArDSPConfig()
Definition: LArDSPConfig.cxx:14
LArDSPConfig::useMGRampInterceptByHash
bool useMGRampInterceptByHash(const IdentifierHash &febHash) const
Definition: LArDSPConfig.cxx:33
LArCondFlatBase
Definition: LArCondFlatBase.h:20
LArDSPConfig::MGRAMPINTERCEPT_MASK
@ MGRAMPINTERCEPT_MASK
Definition: LArDSPConfig.h:30
LArDSPConfig::good
bool good() const
Definition: LArDSPConfig.h:38
LArDSPConfig::PEAKSAMPLE_MASK
@ PEAKSAMPLE_MASK
Definition: LArDSPConfig.h:28
LArCondFlatBase::m_isInitialized
bool m_isInitialized
Definition: LArCondFlatBase.h:28
LArCondFlatBase::m_onlineHelper
const LArOnlineID * m_onlineHelper
Definition: LArCondFlatBase.h:29
LArDSPConfig::LGRAMPINTERCEPT_MASK
@ LGRAMPINTERCEPT_MASK
Definition: LArDSPConfig.h:31
HWIdentifier
Definition: HWIdentifier.h:13
LArDSPConfigWrite
Definition: LArDSPConfig.h:69
LArDSPConfigWrite::attributeList
std::unique_ptr< AthenaAttributeList > attributeList()
Definition: LArDSPConfig.h:81
LArDSPConfig
Definition: LArDSPConfig.h:18
LArCondFlatBase.h
LArDSPConfig::HGRAMPINTERCEPT_MASK
@ HGRAMPINTERCEPT_MASK
Definition: LArDSPConfig.h:29
AthenaAttributeList
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
Definition: PersistentDataModel/PersistentDataModel/AthenaAttributeList.h:45
CxxUtils::set
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Definition: bitmask.h:224
LArDSPConfig::m_pBlob
const uint8_t * m_pBlob
Definition: LArDSPConfig.h:61
LArDSPConfig::m_attrList
const AthenaAttributeList * m_attrList
Definition: LArDSPConfig.h:60
LArDSPConfig::useLGRampIntercept
bool useLGRampIntercept(const HWIdentifier FEBid) const
Definition: LArDSPConfig.h:50
LArDSPConfig::peakSampleByHash
uint8_t peakSampleByHash(const IdentifierHash &febHash) const
Definition: LArDSPConfig.cxx:29
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:64
LArDSPConfigWrite::m_pBlob_nc
uint8_t * m_pBlob_nc
Definition: LArDSPConfig.h:85
LArDSPConfig::m_nFebs
unsigned m_nFebs
Definition: LArDSPConfig.h:62
LArDSPConfig::useHGRampIntercept
bool useHGRampIntercept(const HWIdentifier FEBid) const
Definition: LArDSPConfig.h:47
IdentifierHash
Definition: IdentifierHash.h:38
LArDSPConfig::peakSample
uint8_t peakSample(const HWIdentifier FEBid) const
Definition: LArDSPConfig.h:55
LArOnlineID_Base::feb_Hash
IdentifierHash feb_Hash(HWIdentifier febId) const
Create feb hash identifiers from feb identifiers.
Definition: LArOnlineID_Base.cxx:1516