| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

TESSerializer.h
Go to the documentation of this file.
1 #ifndef GAUDIMP_TESSERIALIZER_H
2 #define GAUDIMP_TESSERIALIZER_H
3
4 #include "GaudiKernel/IDataStoreAgent.h"
5 #include "GaudiKernel/IAddressCreator.h"
6
7 // ROOT includes
8 #include "TClass.h"
9
10 // vector and string
11 #include <string>
12 #include <vector>
13 #include <map>
14
15 // forward declarations
16 class IDataProviderSvc;
17 class 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 {
32 typedef std::vector<DataStoreItem*> Items;
33 typedef std::vector<std::string> ItemNames;
34 typedef std::vector<DataObject*> Objects;
35 public:
37 TESSerializer(IDataProviderSvc* svc, IAddressCreator* ac);
38
40 void dumpBuffer(TBufferFile&);
41
43 void loadBuffer(TBufferFile&);
44
46 void addItem(const std::string& path);
47
49 void addOptItem(const std::string& path);
50
52 bool analyse(IRegistry* dir, int level) override;
53
55 void checkItems( );
56
57 virtual ~TESSerializer() {}
58
59 protected:
61 void addItem(Items& itms, const std::string& descriptor);
62
64 DataStoreItem* findItem(const std::string& path);
65
66 private:
68 IDataProviderSvc* m_TES;
70 IDataManagerSvc* m_TESMgr;
72 ItemNames m_itemNames;
74 Items m_itemList;
76 ItemNames m_optItemNames;
78 Items m_optItemList;
80 DataStoreItem* m_currentItem;
82 Objects m_objects;
83
85 std::map<std::string, TClass*> m_classMap;
87 bool m_verifyItems;
89 bool m_strict;
91 IAddressCreator* m_addressCreator;
92 };
93 }
94 #endif
95
96
GaudiPython.HistoUtils.path
path
Definition: HistoUtils.py:772
GaudiMP
A class to serialize/deserialize TES objects to and from a TBufferFile Author: P. ...
Definition: PyROOTPickle.h:32
IAddressCreator
IAddressCreator interface definition.
Definition: IAddressCreator.h:28
GaudiMP::TESSerializer::m_optItemList
Items m_optItemList
Vector of optional items to be saved to this stream (DataStoreItem ptrs)
Definition: TESSerializer.h:78
GaudiMP::TESSerializer::m_optItemNames
ItemNames m_optItemNames
Vector of item names (std::strings)
Definition: TESSerializer.h:76
GaudiMP::TESSerializer::m_verifyItems
bool m_verifyItems
Boolean Flag as used by GaudiSvc/PersistencySvc/OutputStreamer.
Definition: TESSerializer.h:87
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
DataStoreItem
Description of the DataStoreItem class.
Definition: DataStoreItem.h:17
std::map< std::string, TClass * >
GaudiMP::TESSerializer::m_addressCreator
IAddressCreator * m_addressCreator
IAddress Creator for Opaque Addresses.
Definition: TESSerializer.h:91
GaudiMP::TESSerializer::m_itemList
Items m_itemList
Vector of items to be saved to this stream (DataStoreItem ptrs)
Definition: TESSerializer.h:74
GaudiMP::TESSerializer::m_strict
bool m_strict
Boolean Flag used to determine error tolerance.
Definition: TESSerializer.h:89
std::string
STL class.
GaudiMP::TESSerializer::Items
std::vector< DataStoreItem * > Items
Definition: TESSerializer.h:32
GaudiMP::TESSerializer::m_TESMgr
IDataManagerSvc * m_TESMgr
TES pointer.
Definition: TESSerializer.h:70
GaudiMP::TESSerializer::~TESSerializer
virtual ~TESSerializer()
Definition: TESSerializer.h:57
IRegistry
The IRegistry represents the entry door to the environment any data object residing in a transient da...
Definition: IRegistry.h:22
GaudiMP::TESSerializer::Objects
std::vector< DataObject * > Objects
Definition: TESSerializer.h:34
IDataStoreAgent.h
std::vector< DataStoreItem * >
GaudiMP::TESSerializer::m_itemNames
ItemNames m_itemNames
Vector of item names.
Definition: TESSerializer.h:72
IDataStoreAgent
Generic data agent interface.
Definition: IDataStoreAgent.h:16
IAddressCreator.h
IDataManagerSvc
Definition: IDataManagerSvc.h:45
GaudiMP::TESSerializer::m_objects
Objects m_objects
Selected list of Objects to be serialized (DataObject ptrs)
Definition: TESSerializer.h:82
GaudiMP::TESSerializer::ItemNames
std::vector< std::string > ItemNames
Definition: TESSerializer.h:33
gaudirun.level
level
Definition: gaudirun.py:261
GaudiMP::TESSerializer::m_currentItem
DataStoreItem * m_currentItem
Current item while traversing the TES tree.
Definition: TESSerializer.h:80
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
GaudiMP::TESSerializer
Definition: TESSerializer.h:31
GaudiMP::TESSerializer::m_TES
IDataProviderSvc * m_TES
TES pointer.
Definition: TESSerializer.h:68
GaudiMP::TESSerializer::m_classMap
std::map< std::string, TClass * > m_classMap
Map of gROOT class information.
Definition: TESSerializer.h:85