ATLAS Offline Software
L1CaloPprLutContainer.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1CALOCALIBCONDITIONS_L1CALOPPRLUTCONTAINER_H
6 #define TRIGT1CALOCALIBCONDITIONS_L1CALOPPRLUTCONTAINER_H
7 
9 
10 #include "GaudiKernel/DataObject.h"
11 
15 
24 typedef std::map<unsigned int, L1CaloPprLut> L1CaloPprLutMap;
25 
26 class L1CaloPprLutContainer: public DataObject, public AbstractL1CaloPersistentCondition {
27 
28 
29 private:
31 
32 
33 public:
35 
36  typedef std::map<unsigned int, L1CaloPprLut>::const_iterator const_iterator;
37 
39  L1CaloPprLutContainer(const std::map<L1CaloPprLutContainer::eCoolFolders, std::string>& folderKeysMap);
40  virtual ~L1CaloPprLutContainer() {};
41  virtual DataObject* makePersistent() const;
42 
43  // Hide from reflex to avoid warning from reflex shadow class.
44 #ifndef __REFLEX__
45  // IL1CaloPersistenceCapable interface
46  using AbstractL1CaloPersistentCondition::makeTransient; // to unhide the default implementation of makeTransient
47  virtual void makeTransient(const std::map<std::string, const CondAttrListCollection*>& condAttrListCollectionMap);
48 #endif
49 
50  const L1CaloPprLut* pprLut(unsigned int channelId) const;
51  const L1CaloPprLut* pprLut(const L1CaloCoolChannelId& channelId) const;
52  void addPprLut(unsigned int channelId, const L1CaloPprLut& pprLut);
54 
55  inline L1CaloPprLutMap::const_iterator begin() const { return m_mPprLutMap.begin(); };
56  inline L1CaloPprLutMap::const_iterator end() const { return m_mPprLutMap.end(); };
57 
58  virtual std::vector<std::string> coolInputKeys() const;
59  virtual std::string coolOutputKey() const;
60 
61  virtual void clear();
62 
63  void dump() const;
64 
65 private:
66  std::string coolFolderKey(L1CaloPprLutContainer::eCoolFolders efolder) const;
67 
69  std::map<L1CaloPprLutContainer::eCoolFolders, std::string> m_mCoolFoldersKeysMap;
70 
71 };
72 
73 CLASS_DEF(L1CaloPprLutContainer , 1225798781 , 1 )
74 
75 #endif
L1CaloCoolChannelId.h
L1CaloPprLutContainer::coolFolderKey
std::string coolFolderKey(L1CaloPprLutContainer::eCoolFolders efolder) const
Definition: L1CaloPprLutContainer.cxx:44
L1CaloPprLutContainer::pprLut
const L1CaloPprLut * pprLut(unsigned int channelId) const
Definition: L1CaloPprLutContainer.cxx:133
L1CaloPprLutContainer::ePedValue
@ ePedValue
Definition: L1CaloPprLutContainer.h:30
L1CaloPprLutContainer::eLutSlope
@ eLutSlope
Definition: L1CaloPprLutContainer.h:30
L1CaloPprLutContainer
Definition: L1CaloPprLutContainer.h:26
L1CaloPprLutContainer::begin
L1CaloPprLutMap::const_iterator begin() const
Definition: L1CaloPprLutContainer.h:55
L1CaloPprLutContainer::end
L1CaloPprLutMap::const_iterator end() const
Definition: L1CaloPprLutContainer.h:56
L1CaloPprLutContainer::L1CaloPprLutContainer
L1CaloPprLutContainer()
Definition: L1CaloPprLutContainer.cxx:16
L1CaloPprLutContainer::~L1CaloPprLutContainer
virtual ~L1CaloPprLutContainer()
Definition: L1CaloPprLutContainer.h:40
L1CaloPprLutContainer::eErrorCode
@ eErrorCode
Definition: L1CaloPprLutContainer.h:30
L1CaloPprLutContainer::ePedMean
@ ePedMean
Definition: L1CaloPprLutContainer.h:30
L1CaloPprLutContainer::coolInputKeys
virtual std::vector< std::string > coolInputKeys() const
Definition: L1CaloPprLutContainer.cxx:54
AbstractL1CaloPersistentCondition.h
L1CaloPprLutContainer::makePersistent
virtual DataObject * makePersistent() const
Definition: L1CaloPprLutContainer.cxx:64
L1CaloPprLut
Transient class defining the PPM lookup table objects.
Definition: L1CaloPprLut.h:24
L1CaloPprLut.h
L1CaloPprLutContainer::eCoolFolders
eCoolFolders
Definition: L1CaloPprLutContainer.h:34
L1CaloPprLutContainer::ePprLutChanCalib
@ ePprLutChanCalib
Definition: L1CaloPprLutContainer.h:34
L1CaloPprLutContainer::addPprLut
void addPprLut(unsigned int channelId, const L1CaloPprLut &pprLut)
Definition: L1CaloPprLutContainer.cxx:143
L1CaloPprLutContainer::eLutParameters
@ eLutParameters
Definition: L1CaloPprLutContainer.h:30
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
L1CaloPprLutContainer::eAttrSpecification
eAttrSpecification
Definition: L1CaloPprLutContainer.h:30
L1CaloPprLutContainer::m_mCoolFoldersKeysMap
std::map< L1CaloPprLutContainer::eCoolFolders, std::string > m_mCoolFoldersKeysMap
Definition: L1CaloPprLutContainer.h:69
AbstractL1CaloPersistentCondition::makeTransient
virtual void makeTransient(const std::map< std::string, const CondAttrListCollection * > &condAttrListCollectionMap)
Definition: AbstractL1CaloPersistentCondition.cxx:16
L1CaloCoolChannelId
Definition: L1CaloCoolChannelId.h:10
L1CaloPprLutContainer::makeTransient
virtual void makeTransient(const std::map< std::string, const CondAttrListCollection * > &condAttrListCollectionMap)
Definition: L1CaloPprLutContainer.cxx:96
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
L1CaloPprLutMap
std::map< unsigned int, L1CaloPprLut > L1CaloPprLutMap
Container of L1CaloPprLut objects, inherit from the abstract base class AbstractL1CaloConditionContai...
Definition: L1CaloPprLutContainer.h:24
L1CaloPprLutContainer::dump
void dump() const
Definition: L1CaloPprLutContainer.cxx:151
L1CaloPprLutContainer::eLutNoiseCut
@ eLutNoiseCut
Definition: L1CaloPprLutContainer.h:30
L1CaloPprLutContainer::clear
virtual void clear()
Definition: L1CaloPprLutContainer.cxx:158
L1CaloPprLutContainer::coolOutputKey
virtual std::string coolOutputKey() const
Definition: L1CaloPprLutContainer.cxx:60
L1CaloPprLutContainer::m_mPprLutMap
L1CaloPprLutMap m_mPprLutMap
Definition: L1CaloPprLutContainer.h:68
CLASS_DEF.h
macros to associate a CLID to a type
AbstractL1CaloPersistentCondition
AbstractL1CaloConditionContainer abstract base class for L1Calo persistent conditions container objec...
Definition: AbstractL1CaloPersistentCondition.h:22
L1CaloPprLutContainer::const_iterator
std::map< unsigned int, L1CaloPprLut >::const_iterator const_iterator
Definition: L1CaloPprLutContainer.h:36
L1CaloPprLutContainer::eLutOffset
@ eLutOffset
Definition: L1CaloPprLutContainer.h:30
L1CaloPprLutContainer::eLutStrategy
@ eLutStrategy
Definition: L1CaloPprLutContainer.h:30