| The Gaudi Framework v27r1

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

- File List
- File Members

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;
23 int m_technology;
24 std::string m_dbID;
25 std::string m_cntID;
26 Guid m_classID;
27 std::pair<int, int> m_oid;
28 int m_type;
29 public:
30 Token() = default;
31 virtual ~Token() = default;
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 = 0;
46 unsigned char *m_buffer = nullptr;//[m_size]
48 UCharDbArray() = default;
50 virtual ~UCharDbArray() {
51 if ( m_buffer ) delete [] m_buffer;
52 m_buffer = nullptr;
53 }
54 };
55
63 class PoolDbTokenWrap {
64 public:
66 pool::Token token;
68 PoolDbTokenWrap() = default;
70 PoolDbTokenWrap(const PoolDbTokenWrap& wrp) { token = wrp.token; }
72 virtual ~PoolDbTokenWrap() = default;
74 bool operator==(const PoolDbTokenWrap& c) const { return token == c.token; }
76 PoolDbTokenWrap& operator=(const PoolDbTokenWrap& wrp) {
77 if ( this != &wrp ) token = wrp.token;
78 return *this;
79 }
80 };
81
90 class GAUDI_API PoolDbLinkManager {
91 protected:
93 std::vector<pool::Token*> m_refs;
95 std::vector<std::string> m_links;
96
97 public:
99 PoolDbLinkManager() = default;
101 virtual ~PoolDbLinkManager() {
102 for(auto& i : m_refs ) delete i;
103 }
105 std::vector<pool::Token*>& references() { return m_refs; }
107 std::vector<std::string>& links() { return m_links; }
108 };
pool::Guid::Data1
unsigned int Data1
Definition: PoolClasses.h:10
pool::Token::m_type
int m_type
POOL OID data member: transient (a streamer is used to read it)
Definition: PoolClasses.h:28
PoolDbTokenWrap::PoolDbTokenWrap
PoolDbTokenWrap(const PoolDbTokenWrap &wrp)
Copy constructor.
Definition: PoolClasses.h:70
PoolDbLinkManager::m_refs
std::vector< pool::Token * > m_refs
Directory links.
Definition: PoolClasses.h:93
pool::Token::Token
Token()=default
transient (a streamer is used to read it)
pool::Token::m_classID
Guid m_classID
transient (a streamer is used to read it)
Definition: PoolClasses.h:26
pool::Guid::Data2
unsigned short Data2
Definition: PoolClasses.h:11
UCharDbArray::~UCharDbArray
virtual ~UCharDbArray()
Standard destructor.
Definition: PoolClasses.h:50
UCharDbArray::m_size
int m_size
Size of buffer.
Definition: PoolClasses.h:44
pool::Token::m_technology
int m_technology
transient (a streamer is used to read it)
Definition: PoolClasses.h:23
gaudirun.c
tuple c
Definition: gaudirun.py:391
PoolDbLinkManager::references
std::vector< pool::Token * > & references()
Access to token array.
Definition: PoolClasses.h:105
PoolDbLinkManager::m_links
std::vector< std::string > m_links
Logical links.
Definition: PoolClasses.h:95
pool::Guid
Definition: PoolClasses.h:8
pool::Guid::Data3
unsigned short Data3
Definition: PoolClasses.h:12
pool::Token::operator==
bool operator==(const Token &t) const
Definition: PoolClasses.h:32
UCharDbArray::UCharDbArray
UCharDbArray()=default
Default constructor.
PoolDbTokenWrap::operator=
PoolDbTokenWrap & operator=(const PoolDbTokenWrap &wrp)
Assignment operator.
Definition: PoolClasses.h:76
UCharDbArray
Shadow class to mimik POOL blobs.
Definition: PoolClasses.h:41
std::string
STL class.
pool::Token::m_oid
std::pair< int, int > m_oid
Object global identifier.
Definition: PoolClasses.h:27
PoolDbLinkManager::links
std::vector< std::string > & links()
Access to link array.
Definition: PoolClasses.h:107
pool::Token
Shadow class to mimik POOL tokens.
Definition: PoolClasses.h:20
pool
Definition: PoolClasses.h:7
PoolDbTokenWrap::token
pool::Token token
Aggregated token object.
Definition: PoolClasses.h:66
PoolDbLinkManager
Description: PoolDbLinkManager class implementation definition.
Definition: PoolClasses.h:90
PoolDbTokenWrap::~PoolDbTokenWrap
virtual ~PoolDbTokenWrap()=default
Standard destructor.
PoolDbTokenWrap
Description:
Definition: PoolClasses.h:63
PoolDbLinkManager::~PoolDbLinkManager
virtual ~PoolDbLinkManager()
Standard destructor.
Definition: PoolClasses.h:101
std::pair< int, int >
pool::Token::m_cntID
std::string m_cntID
transient (a streamer is used to read it)
Definition: PoolClasses.h:25
PoolDbTokenWrap::operator==
bool operator==(const PoolDbTokenWrap &c) const
Equality operator.
Definition: PoolClasses.h:74
std::vector< pool::Token * >
UCharDbArray::m_buffer
unsigned char * m_buffer
Buffer with object content.
Definition: PoolClasses.h:46
pool::Guid::Data4
unsigned char Data4[8]
Definition: PoolClasses.h:13
pool::Token::~Token
virtual ~Token()=default
pool::Token::m_dbID
std::string m_dbID
transient (a streamer is used to read it)
Definition: PoolClasses.h:24
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
ana.i
list i
Definition: ana.py:128
pool::Token::m_refCount
int m_refCount
Definition: PoolClasses.h:22
PoolDbTokenWrap::PoolDbTokenWrap
PoolDbTokenWrap()=default
Standard constructor.