Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
PoolClasses.h
Go to the documentation of this file.
1 
2 // The following two classes are the interfaces to facilitate reading POOL formatted ROOT files:
3 #include "GaudiKernel/Kernel.h" // GAUDI_API
4 #include <string>
5 #include <utility>
6 #include <vector>
7 
8 /*
9  * POOL namespace declaration
10  */
11 namespace pool {
12  class Guid { // size is 16
13  public:
14  unsigned int Data1;
15  unsigned short Data2;
16  unsigned short Data3;
17  unsigned char Data4[8];
18  };
24  class Token {
25  public:
26  int m_refCount;
32  int m_type;
33  public:
34  Token() = default;
35  virtual ~Token() = default;
36  bool operator==( const Token& t ) const { return m_oid.first == t.m_oid.first && m_oid.second == t.m_oid.second; }
37  };
38 } // namespace pool
39 
45 struct UCharDbArray {
46 public:
48  int m_size = 0;
50  unsigned char* m_buffer = nullptr; //[m_size]
52  UCharDbArray() = default;
54  virtual ~UCharDbArray() {
55  if ( m_buffer ) delete[] m_buffer;
56  m_buffer = nullptr;
57  }
58 };
59 
68 public:
72  PoolDbTokenWrap() = default;
74  PoolDbTokenWrap( const PoolDbTokenWrap& wrp ) { token = wrp.token; }
76  virtual ~PoolDbTokenWrap() = default;
78  bool operator==( const PoolDbTokenWrap& c ) const { return token == c.token; }
81  if ( this != &wrp ) token = wrp.token;
82  return *this;
83  }
84 };
85 
95 protected:
100 
101 public:
103  PoolDbLinkManager() = default;
105  virtual ~PoolDbLinkManager() {
106  for ( auto& i : m_refs ) delete i;
107  }
109  std::vector<pool::Token*>& references() { return m_refs; }
111  std::vector<std::string>& links() { return m_links; }
112 };
unsigned int Data1
Definition: PoolClasses.h:14
int m_type
POOL OID data member: transient (a streamer is used to read it)
Definition: PoolClasses.h:32
PoolDbTokenWrap(const PoolDbTokenWrap &wrp)
Copy constructor.
Definition: PoolClasses.h:74
Guid m_classID
transient (a streamer is used to read it)
Definition: PoolClasses.h:30
unsigned short Data2
Definition: PoolClasses.h:15
virtual ~UCharDbArray()
Standard destructor.
Definition: PoolClasses.h:54
int m_technology
transient (a streamer is used to read it)
Definition: PoolClasses.h:27
unsigned short Data3
Definition: PoolClasses.h:16
bool operator==(const Token &t) const
Definition: PoolClasses.h:36
PoolDbTokenWrap & operator=(const PoolDbTokenWrap &wrp)
Assignment operator.
Definition: PoolClasses.h:80
Shadow class to mimik POOL blobs.
Definition: PoolClasses.h:45
STL class.
std::pair< int, int > m_oid
Object global identifier.
Definition: PoolClasses.h:31
Shadow class to mimik POOL tokens.
Definition: PoolClasses.h:24
pool::Token token
Aggregated token object.
Definition: PoolClasses.h:70
Description:
Definition: PoolClasses.h:67
std::string m_cntID
transient (a streamer is used to read it)
Definition: PoolClasses.h:29
bool operator==(const PoolDbTokenWrap &c) const
Equality operator.
Definition: PoolClasses.h:78
unsigned char Data4[8]
Definition: PoolClasses.h:17
std::string m_dbID
transient (a streamer is used to read it)
Definition: PoolClasses.h:28
#define GAUDI_API
Definition: Kernel.h:71
int m_refCount
Definition: PoolClasses.h:26