ATLAS Offline Software
Loading...
Searching...
No Matches
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
13
14#include "GaudiKernel/DataObject.h"
15
19
27
28class 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;
54 const L1CaloRxLayers* rxLayers(const L1CaloRxCoolChannelId& 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:
68
70 std::map<L1CaloRxLayersContainer::eCoolFolders, std::string> m_mCoolFoldersKeysMap;
71};
72
73CLASS_DEF( L1CaloRxLayersContainer , 1203741828 , 1 )
74
75#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
virtual void makeTransient(const std::map< std::string, const CondAttrListCollection * > &condAttrListCollectionMap)
AbstractL1CaloPersistentCondition(const std::string &condType)
Encapsulates the ID of one Rx channel of conditions data in COOL, ie the ID of a row in a table.
Container of L1CaloRxLayers objects, inherit from the abstract base class AbstractL1CaloConditionCont...
const L1CaloRxLayers * rxLayers(unsigned int channelId) const
const_iterator begin() const
std::string coolFolderKey(L1CaloRxLayersContainer::eCoolFolders efolder) const
void addRxLayers(unsigned int channelId, L1CaloRxLayers &&rxLayers)
L1CaloRxLayersMap::const_iterator const_iterator
std::map< L1CaloRxLayersContainer::eCoolFolders, std::string > m_mCoolFoldersKeysMap
std::map< unsigned int, L1CaloRxLayers > L1CaloRxLayersMap
virtual std::vector< std::string > coolInputKeys() const
virtual void makeTransient(const std::map< std::string, const CondAttrListCollection * > &condAttrListCollectionMap)
virtual std::string coolOutputKey() const
virtual DataObject * makePersistent() const
Class that holds information about calo layers that make up receivers.