| The Gaudi Framework v29r0 (ff2e7097)

- 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/IAddressCreator.h"
5 #include "GaudiKernel/IDataStoreAgent.h"
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 class IDataManagerSvc;
18 class TBufferFile;
19 class DataStoreItem;
20 class DataObject;
21 class IAddressCreator;
22
30 namespace GaudiMP
31 {
32 class GAUDI_API TESSerializer : virtual public IDataStoreAgent
33 {
34 typedef std::vector<DataStoreItem*> Items;
35 typedef std::vector<std::string> ItemNames;
36 typedef std::vector<DataObject*> Objects;
37
38 public:
40 TESSerializer( IDataProviderSvc* svc, IAddressCreator* ac );
41
43 void dumpBuffer( TBufferFile& );
44
46 void loadBuffer( TBufferFile& );
47
49 void addItem( const std::string& path );
50
52 void addOptItem( const std::string& path );
53
55 bool analyse( IRegistry* dir, int level ) override;
56
58 void checkItems();
59
60 virtual ~TESSerializer() {}
61
62 protected:
64 void addItem( Items& itms, const std::string& descriptor );
65
67 DataStoreItem* findItem( const std::string& path );
68
69 private:
71 IDataProviderSvc* m_TES;
73 IDataManagerSvc* m_TESMgr;
75 ItemNames m_itemNames;
77 Items m_itemList;
79 ItemNames m_optItemNames;
81 Items m_optItemList;
83 DataStoreItem* m_currentItem;
85 Objects m_objects;
86
88 std::map<std::string, TClass*> m_classMap;
90 bool m_verifyItems;
92 bool m_strict;
94 IAddressCreator* m_addressCreator;
95 };
96 }
97 #endif
GaudiPython.HistoUtils.path
path
Definition: HistoUtils.py:895
GaudiMP
A class to serialize/deserialize TES objects to and from a TBufferFile Author: P. ...
Definition: PyROOTPickle.h:31
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:81
GaudiMP::TESSerializer::m_optItemNames
ItemNames m_optItemNames
Vector of item names (std::strings)
Definition: TESSerializer.h:79
GaudiMP::TESSerializer::m_verifyItems
bool m_verifyItems
Boolean Flag as used by GaudiSvc/PersistencySvc/OutputStreamer.
Definition: TESSerializer.h:90
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:94
GaudiMP::TESSerializer::m_itemList
Items m_itemList
Vector of items to be saved to this stream (DataStoreItem ptrs)
Definition: TESSerializer.h:77
GaudiMP::TESSerializer::m_strict
bool m_strict
Boolean Flag used to determine error tolerance.
Definition: TESSerializer.h:92
std::string
STL class.
GaudiMP::TESSerializer::Items
std::vector< DataStoreItem * > Items
Definition: TESSerializer.h:34
GaudiMP::TESSerializer::m_TESMgr
IDataManagerSvc * m_TESMgr
TES pointer.
Definition: TESSerializer.h:73
GaudiMP::TESSerializer::~TESSerializer
virtual ~TESSerializer()
Definition: TESSerializer.h:60
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:36
IDataStoreAgent.h
std::vector< DataStoreItem * >
GaudiMP::TESSerializer::m_itemNames
ItemNames m_itemNames
Vector of item names.
Definition: TESSerializer.h:75
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:85
GaudiMP::TESSerializer::ItemNames
std::vector< std::string > ItemNames
Definition: TESSerializer.h:35
gaudirun.level
level
Definition: gaudirun.py:271
GaudiMP::TESSerializer::m_currentItem
DataStoreItem * m_currentItem
Current item while traversing the TES tree.
Definition: TESSerializer.h:83
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
GaudiMP::TESSerializer
Definition: TESSerializer.h:32
GaudiMP::TESSerializer::m_TES
IDataProviderSvc * m_TES
TES pointer.
Definition: TESSerializer.h:71
GaudiMP::TESSerializer::m_classMap
std::map< std::string, TClass * > m_classMap
Map of gROOT class information.
Definition: TESSerializer.h:88