PoolDbIOHandler.cpp File Reference
#include "GaudiPoolDb/PoolDbIOHandler.h"
#include "GaudiKernel/ObjectContainerBase.h"
#include "GaudiKernel/ContainedObject.h"
#include "GaudiKernel/LinkManager.h"
#include "GaudiKernel/IRegistry.h"
#include "GaudiKernel/MsgStream.h"
#include "GaudiKernel/SmartRef.h"
#include <stdexcept>
#include <iostream>
#include "TROOT.h"
#include "TFile.h"
#include "TClass.h"
#include "TStreamerInfo.h"
#include "Cintex/Cintex.h"
#include "POOLCore/Token.h"
#include "POOLCore/Reference.h"
#include "StorageSvc/DbReflex.h"
#include "StorageSvc/DataCallBack.h"
#include "StorageSvc/DbDataHandlerGuard.h"
#include <memory>
Go to the source code of this file.
Function Documentation
| static void getOID_40000 |
( |
TBuffer & |
b, |
|
|
TClass * |
cl, |
|
|
Token::OID_t & |
oid | |
|
) |
| | [static] |
Definition at line 199 of file PoolDbIOHandler.cpp.
00199 {
00200 unsigned long loid[2];
00201 UInt_t start, count, tmp;
00202
00203 b.ReadVersion(&start, &count, 0);
00204 switch(count) {
00205 case 22:
00206 b >> tmp;
00207 b.ReadFastArray(loid,2);
00208 oid.first = loid[0];
00209 oid.second = loid[1];
00210 break;
00211 case 14:
00212 b >> tmp;
00213 case 10:
00214 case 8:
00215 default:
00216 b.ReadFastArray(&oid.first, 2);
00217 break;
00218 }
00219
00220 b.CheckByteCount(start, count, cl);
00221 }
template<class T >
| static bool makeStreamer |
( |
MsgStream & |
log |
) |
[inline, static] |
Definition at line 278 of file PoolDbIOHandler.cpp.
00278 {
00279 std::string cl_name = typeName(typeid(T));
00280 ROOT::Reflex::Type t = ROOT::Reflex::Type::ByName(cl_name);
00281 if ( t ) {
00282 TClass* c = gROOT->GetClass(cl_name.c_str());
00283 if ( c ) {
00284 TClassStreamer* s = new PoolDbIOHandler<T>(t,c);
00285 c->AdoptStreamer(s);
00286 log << MSG::DEBUG << "Installed IOHandler for class " << cl_name << endmsg;
00287 return true;
00288 }
00289 else if ( !c ) {
00290 log << MSG::ERROR << "[No ROOT TClass] Failed to install IOHandler for class " << cl_name << endmsg;
00291 }
00292 }
00293 else {
00294 log << MSG::ERROR << "[No Reflection Type] Failed to install IOHandler for class " << cl_name << endmsg;
00295 }
00296 return false;
00297 }
| void popCurrentDataObject |
( |
|
) |
|
| void pushCurrentDataObject |
( |
DataObject ** |
pobjAddr |
) |
|
Variable Documentation