ATLAS Offline Software
SGIFolder.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 #ifndef SGTOOLS_IFOLDER_H
6 #define SGTOOLS_IFOLDER_H
7 
8 #include <set>
9 #include <string>
10 
11 #ifndef GAUDIKERNEL_IALGTOOL_H
12  #include "GaudiKernel/IAlgTool.h"
13 #endif
14 
15 #include "SGTools/SGFolderItem.h"
16 
17 namespace SG {
24  class IFolder : public virtual IAlgTool
25  {
26  public:
28  typedef std::set<FolderItem> ItemList; //FIXME would be nice to move to SG::Folder
29 
31 
32  typedef ItemList::const_iterator const_iterator;
33  virtual const_iterator begin() const = 0;
34  virtual const_iterator end() const = 0;
36  virtual StatusCode add(const std::string& typeName, const std::string& skey) = 0;
39  virtual StatusCode add(const CLID& clid, const std::string& skey) = 0;
40 
42  virtual void clear() = 0;
43 
45  virtual void updateItemList(bool checkValidCLID) = 0;
46 
47 
48  static const InterfaceID& interfaceID() {
49  static const InterfaceID IID( "SG::IFolder", 1, 0 );
50  return IID;
51  }
52  };
53 } //ns SG
54 
55 #endif
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
SG::IFolder::begin
virtual const_iterator begin() const =0
SG::IFolder::add
virtual StatusCode add(const CLID &clid, const std::string &skey)=0
add a data object identifier to the list
SG::IFolder::const_iterator
ItemList::const_iterator const_iterator
Definition: SGIFolder.h:32
SG::IFolder
a run-time configurable list of data objects
Definition: SGIFolder.h:25
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SGFolderItem.h
SG::IFolder::end
virtual const_iterator end() const =0
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
SG::IFolder::ItemList
std::set< FolderItem > ItemList
the list we manage
Definition: SGIFolder.h:28
SG::IFolder::interfaceID
static const InterfaceID & interfaceID()
Definition: SGIFolder.h:48
SG::IFolder::add
virtual StatusCode add(const std::string &typeName, const std::string &skey)=0
add a data object identifier to the list
SG::IFolder::updateItemList
virtual void updateItemList(bool checkValidCLID)=0
update list of items
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477
SG::IFolder::clear
virtual void clear()=0
clear the folder contents