ATLAS Offline Software
L1CaloRxLayersContainer.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 L1CALORXLAYERSCONTAINER_H
6 #define L1CALORXLAYERSCONTAINER_H
7 
8 #include <map>
9 #include <string>
10 #include <vector>
11 
12 #include "AthenaKernel/CLASS_DEF.h"
13 
14 #include "GaudiKernel/DataObject.h"
15 
19 
28 class L1CaloRxLayersContainer: public DataObject,
30 {
31  private:
33 
34  public:
35 
36  typedef std::map<unsigned int, L1CaloRxLayers> L1CaloRxLayersMap;
37  typedef L1CaloRxLayersMap::const_iterator const_iterator;
38 
40 
42  L1CaloRxLayersContainer(const std::map<L1CaloRxLayersContainer::eCoolFolders, std::string>& folderKeysMap);
44  virtual DataObject* makePersistent() const;
45 
46  // Hide from reflex to avoid warning from reflex shadow class.
47 #ifndef __REFLEX__
48  // IL1CaloPersistenceCapable interface
49  using AbstractL1CaloPersistentCondition::makeTransient; // to unhide the default implementation of makeTransient
50  virtual void makeTransient(const std::map<std::string, const CondAttrListCollection*>& condAttrListCollectionMap);
51 #endif
52 
53  const L1CaloRxLayers* rxLayers(unsigned int channelId) const;
55  void addRxLayers(unsigned int channelId, L1CaloRxLayers&& rxLayers);
57 
58  inline const_iterator begin() const { return m_mRxLayersMap.begin(); };
59  inline const_iterator end() const { return m_mRxLayersMap.end(); };
60 
61  virtual std::vector<std::string> coolInputKeys() const;
62  virtual std::string coolOutputKey() const;
63 
64  virtual void clear();
65 
66  private:
67  std::string coolFolderKey(L1CaloRxLayersContainer::eCoolFolders efolder) const;
68 
70  std::map<L1CaloRxLayersContainer::eCoolFolders, std::string> m_mCoolFoldersKeysMap;
71 };
72 
73 CLASS_DEF( L1CaloRxLayersContainer , 1203741828 , 1 )
74 
75 #endif
L1CaloRxLayersContainer::m_mCoolFoldersKeysMap
std::map< L1CaloRxLayersContainer::eCoolFolders, std::string > m_mCoolFoldersKeysMap
Definition: L1CaloRxLayersContainer.h:70
L1CaloRxCoolChannelId.h
L1CaloRxLayersContainer::eNCells4
@ eNCells4
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::eName1
@ eName1
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::eName3
@ eName3
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::m_mRxLayersMap
L1CaloRxLayersMap m_mRxLayersMap
Definition: L1CaloRxLayersContainer.h:69
L1CaloRxLayersContainer::eCoolFolders
eCoolFolders
Definition: L1CaloRxLayersContainer.h:39
AbstractL1CaloPersistentCondition.h
L1CaloRxLayersContainer::eRxLayers
@ eRxLayers
Definition: L1CaloRxLayersContainer.h:39
L1CaloRxLayersContainer::coolInputKeys
virtual std::vector< std::string > coolInputKeys() const
Definition: L1CaloRxLayersContainer.cxx:55
L1CaloRxLayersContainer::rxLayers
const L1CaloRxLayers * rxLayers(unsigned int channelId) const
Definition: L1CaloRxLayersContainer.cxx:161
L1CaloRxCoolChannelId
Definition: L1CaloRxCoolChannelId.h:10
L1CaloRxLayersContainer
Container of L1CaloRxLayers objects, inherit from the abstract base class AbstractL1CaloConditionCont...
Definition: L1CaloRxLayersContainer.h:30
L1CaloRxLayersContainer::L1CaloRxLayersContainer
L1CaloRxLayersContainer()
Definition: L1CaloRxLayersContainer.cxx:14
L1CaloRxLayersContainer::makePersistent
virtual DataObject * makePersistent() const
Definition: L1CaloRxLayersContainer.cxx:65
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
L1CaloRxLayers.h
L1CaloRxLayersContainer::coolFolderKey
std::string coolFolderKey(L1CaloRxLayersContainer::eCoolFolders efolder) const
Definition: L1CaloRxLayersContainer.cxx:45
L1CaloRxLayersContainer::eNCells3
@ eNCells3
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::eNCells2
@ eNCells2
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::begin
const_iterator begin() const
Definition: L1CaloRxLayersContainer.h:58
L1CaloRxLayersContainer::makeTransient
virtual void makeTransient(const std::map< std::string, const CondAttrListCollection * > &condAttrListCollectionMap)
Definition: L1CaloRxLayersContainer.cxx:111
L1CaloRxLayersContainer::eName4
@ eName4
Definition: L1CaloRxLayersContainer.h:32
AbstractL1CaloPersistentCondition::makeTransient
virtual void makeTransient(const std::map< std::string, const CondAttrListCollection * > &condAttrListCollectionMap)
Definition: AbstractL1CaloPersistentCondition.cxx:16
L1CaloRxLayersContainer::~L1CaloRxLayersContainer
virtual ~L1CaloRxLayersContainer()
Definition: L1CaloRxLayersContainer.h:43
L1CaloRxLayersContainer::end
const_iterator end() const
Definition: L1CaloRxLayersContainer.h:59
L1CaloRxLayersContainer::eNCells1
@ eNCells1
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::eName2
@ eName2
Definition: L1CaloRxLayersContainer.h:32
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
L1CaloRxLayers
Class that holds information about calo layers that make up receivers.
Definition: L1CaloRxLayers.h:19
L1CaloRxLayersContainer::coolOutputKey
virtual std::string coolOutputKey() const
Definition: L1CaloRxLayersContainer.cxx:61
L1CaloRxLayersContainer::eNLayers
@ eNLayers
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::L1CaloRxLayersMap
std::map< unsigned int, L1CaloRxLayers > L1CaloRxLayersMap
Definition: L1CaloRxLayersContainer.h:36
L1CaloRxLayersContainer::addRxLayers
void addRxLayers(unsigned int channelId, L1CaloRxLayers &&rxLayers)
Definition: L1CaloRxLayersContainer.cxx:171
L1CaloRxLayersContainer::const_iterator
L1CaloRxLayersMap::const_iterator const_iterator
Definition: L1CaloRxLayersContainer.h:37
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
L1CaloRxLayersContainer::eAttrSpecification
eAttrSpecification
Definition: L1CaloRxLayersContainer.h:32
L1CaloRxLayersContainer::clear
virtual void clear()
Definition: L1CaloRxLayersContainer.cxx:179