All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 
4 /*
5  * POOL namespace declaration
6  */
7 namespace pool {
8  class Guid { // size is 16
9  public:
10  unsigned int Data1;
11  unsigned short Data2;
12  unsigned short Data3;
13  unsigned char Data4[8];
14  };
20  class Token {
21  public:
22  int m_refCount;
24  std::string m_dbID;
25  std::string m_cntID;
27  std::pair<int, int> m_oid;
28  int m_type;
29  public:
30  Token() {}
31  virtual ~Token() {}
32  bool operator==(const Token& t) const { return m_oid.first==t.m_oid.first && m_oid.second==t.m_oid.second;}
33  };
34 }
35 
41 struct UCharDbArray {
42  public:
44  int m_size;
46  unsigned char *m_buffer;//[m_size]
50  virtual ~UCharDbArray() {
51  if ( m_buffer ) delete [] m_buffer;
52  m_buffer = 0;
53  }
54 };
55 
64  public:
70  PoolDbTokenWrap(const PoolDbTokenWrap& wrp) { token = wrp.token; }
72  virtual ~PoolDbTokenWrap() {}
74  bool operator==(const PoolDbTokenWrap& c) const { return token == c.token; }
77  if ( this != &wrp ) {
78  token = wrp.token;
79  }
80  return *this;
81  }
82 };
83 
93 protected:
95  std::vector<pool::Token*> m_refs;
97  std::vector<std::string> m_links;
98 
99 public:
103  virtual ~PoolDbLinkManager() {
104  for(std::vector<pool::Token*>::iterator i=m_refs.begin(); i!=m_refs.end();++i)
105  delete (*i);
106  }
108  std::vector<pool::Token*>& references() { return m_refs; }
110  std::vector<std::string>& links() { return m_links; }
111 };
unsigned int Data1
Definition: PoolClasses.h:10
int m_type
POOL OID data member: transient (a streamer is used to read it)
Definition: PoolClasses.h:28
PoolDbTokenWrap(const PoolDbTokenWrap &wrp)
Copy constructor.
Definition: PoolClasses.h:70
Guid m_classID
transient (a streamer is used to read it)
Definition: PoolClasses.h:26
unsigned short Data2
Definition: PoolClasses.h:11
virtual ~UCharDbArray()
Standard destructor.
Definition: PoolClasses.h:50
int m_size
Size of buffer.
Definition: PoolClasses.h:44
int m_technology
transient (a streamer is used to read it)
Definition: PoolClasses.h:23
tuple c
Definition: gaudirun.py:341
unsigned short Data3
Definition: PoolClasses.h:12
Token()
transient (a streamer is used to read it)
Definition: PoolClasses.h:30
bool operator==(const Token &t) const
Definition: PoolClasses.h:32
PoolDbTokenWrap & operator=(const PoolDbTokenWrap &wrp)
Assignment operator.
Definition: PoolClasses.h:76
Shadow class to mimik POOL blobs.
Definition: PoolClasses.h:41
std::pair< int, int > m_oid
Object global identifier.
Definition: PoolClasses.h:27
Shadow class to mimik POOL tokens.
Definition: PoolClasses.h:20
pool::Token token
Aggregated token object.
Definition: PoolClasses.h:66
Description:
Definition: PoolClasses.h:63
std::string m_cntID
transient (a streamer is used to read it)
Definition: PoolClasses.h:25
bool operator==(const PoolDbTokenWrap &c) const
Equality operator.
Definition: PoolClasses.h:74
unsigned char * m_buffer
Buffer with object content.
Definition: PoolClasses.h:46
unsigned char Data4[8]
Definition: PoolClasses.h:13
std::string m_dbID
transient (a streamer is used to read it)
Definition: PoolClasses.h:24
virtual ~Token()
Definition: PoolClasses.h:31
UCharDbArray()
Default constructor.
Definition: PoolClasses.h:48
#define GAUDI_API
Definition: Kernel.h:108
list i
Definition: ana.py:128
int m_refCount
Definition: PoolClasses.h:22
PoolDbTokenWrap()
Standard constructor.
Definition: PoolClasses.h:68
virtual ~PoolDbTokenWrap()
Standard destructor.
Definition: PoolClasses.h:72