ATLAS Offline Software
IAuxStoreIO.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id: IAuxStoreIO.h 584348 2014-02-20 09:21:15Z krasznaa $
16 #ifndef ATHCONTAINERSINTERFACES_IAUXSTOREIO_H
17 #define ATHCONTAINERSINTERFACES_IAUXSTOREIO_H
18 
19 
21 #include <typeinfo>
22 #include <set>
23 
24 
25 namespace SG {
26 
27 
44 {
45 public:
47  virtual ~IAuxStoreIO() {}
48 
49 
60  virtual const void* getIOData (SG::auxid_t auxid) const = 0;
61 
62 
74  virtual const std::type_info* getIOType (SG::auxid_t auxid) const = 0;
75 
76 
80  virtual const SG::auxid_set_t& getDynamicAuxIDs() const = 0;
81 
82 
87  // default all are selected
88  return getDynamicAuxIDs();
89  }
90 
91 }; // class IAuxStoreIO
92 
93 
94 } // namespace SG
95 
96 
97 #ifndef XAOD_STANDALONE
98 #include "AthenaKernel/CLASS_DEF.h"
99 CLASS_DEF( SG::IAuxStoreIO, 55879233, 1 )
100 #endif
101 
102 
103 #endif // not ATHCONTAINERSINTERFACES_IAUXSTOREIO_H
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
SG::IAuxStoreIO::getIOType
virtual const std::type_info * getIOType(SG::auxid_t auxid) const =0
Return the type of the data to be stored for one aux data item.
SG::IAuxStoreIO
Interface providing I/O for a generic auxiliary store.
Definition: IAuxStoreIO.h:44
SG::auxid_t
size_t auxid_t
Identifier for a particular aux data item.
Definition: AuxTypes.h:27
SG::IAuxStoreIO::getSelectedAuxIDs
virtual SG::auxid_set_t getSelectedAuxIDs() const
Get a list of dynamic variables that need to be written out.
Definition: IAuxStoreIO.h:86
SG::IAuxStoreIO::getDynamicAuxIDs
virtual const SG::auxid_set_t & getDynamicAuxIDs() const =0
Get the list of all dynamically created variables.
SG::IAuxStoreIO::getIOData
virtual const void * getIOData(SG::auxid_t auxid) const =0
Return a pointer to the data to be stored for one aux data item.
AuxTypes.h
Basic definitions for auxiliary types.
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
SG::auxid_set_t
A set of aux data identifiers.
Definition: AuxTypes.h:47
CLASS_DEF.h
macros to associate a CLID to a type
SG::IAuxStoreIO::~IAuxStoreIO
virtual ~IAuxStoreIO()
Destructor.
Definition: IAuxStoreIO.h:47