Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
TESSerializer.h
Go to the documentation of this file.
1 #ifndef GAUDIMP_TESSERIALIZER_H
2 #define GAUDIMP_TESSERIALIZER_H
3 
6 
7 // ROOT includes
8 #include "TClass.h"
9 
10 // vector and string
11 #include <map>
12 #include <string>
13 #include <vector>
14 
15 // forward declarations
16 class IDataProviderSvc;
17 struct IDataManagerSvc;
18 class TBufferFile;
19 class DataStoreItem;
20 class DataObject;
21 class IAddressCreator;
22 
30 namespace GaudiMP {
31  class GAUDI_API TESSerializer : virtual public IDataStoreAgent {
35 
36  public:
39 
41  void dumpBuffer( TBufferFile& );
42 
44  void loadBuffer( TBufferFile& );
45 
47  void addItem( const std::string& path );
48 
50  void addOptItem( const std::string& path );
51 
53  bool analyse( IRegistry* dir, int level ) override;
54 
56  void checkItems();
57 
58  virtual ~TESSerializer() {}
59 
60  protected:
62  void addItem( Items& itms, const std::string& descriptor );
63 
65  DataStoreItem* findItem( const std::string& path );
66 
67  private:
73  ItemNames m_itemNames;
75  Items m_itemList;
77  ItemNames m_optItemNames;
83  Objects m_objects;
84 
90  bool m_strict;
93  };
94 } // namespace GaudiMP
95 #endif
A class to serialize/deserialize TES objects to and from a TBufferFile Author: P. ...
Definition: PyROOTPickle.h:31
IAddressCreator interface definition.
Items m_optItemList
Vector of optional items to be saved to this stream (DataStoreItem ptrs)
Definition: TESSerializer.h:79
ItemNames m_optItemNames
Vector of item names (std::strings)
Definition: TESSerializer.h:77
bool m_verifyItems
Boolean Flag as used by GaudiSvc/PersistencySvc/OutputStreamer.
Definition: TESSerializer.h:88
Data provider interface definition.
Description of the DataStoreItem class.
Definition: DataStoreItem.h:17
IAddressCreator * m_addressCreator
IAddress Creator for Opaque Addresses.
Definition: TESSerializer.h:92
Items m_itemList
Vector of items to be saved to this stream (DataStoreItem ptrs)
Definition: TESSerializer.h:75
bool m_strict
Boolean Flag used to determine error tolerance.
Definition: TESSerializer.h:90
STL class.
std::vector< DataStoreItem * > Items
Definition: TESSerializer.h:32
IDataManagerSvc * m_TESMgr
TES pointer.
Definition: TESSerializer.h:71
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
std::vector< DataObject * > Objects
Definition: TESSerializer.h:34
ItemNames m_itemNames
Vector of item names.
Definition: TESSerializer.h:73
Generic data agent interface.
Objects m_objects
Selected list of Objects to be serialized (DataObject ptrs)
Definition: TESSerializer.h:83
std::vector< std::string > ItemNames
Definition: TESSerializer.h:33
DataStoreItem * m_currentItem
Current item while traversing the TES tree.
Definition: TESSerializer.h:81
#define GAUDI_API
Definition: Kernel.h:71
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
IDataProviderSvc * m_TES
TES pointer.
Definition: TESSerializer.h:69
std::map< std::string, TClass * > m_classMap
Map of gROOT class information.
Definition: TESSerializer.h:86