2 #define ROOTHISTCNV_RFILECNV_CPP
36 pmgr->declareProperty(
"GlobalCompression",
m_compLevel );
41 jobSvc->setMyProperties(
"RFileCnv",&*pmgr) );
54 unsigned long* ipar = (
unsigned long*)pAddress->
ipar();
55 char mode[2] = { char(ipar[1]), 0 };
66 static TROOT
root(
"root",
"ROOT I/O");
69 log <<
MSG::VERBOSE <<
"ROOT already initialized, debug = "
75 if ( mode[0] ==
'O' ) {
77 if (findTFile(ooname,rfile).isFailure()) {
79 log <<
MSG::INFO <<
"opening Root file \"" << fname <<
"\" for reading"
82 rfile = TFile::Open(fname.c_str(),
"READ");
83 if ( rfile != 0 && rfile->IsOpen() ) {
84 regTFile(ooname,rfile).ignore();
86 ipar[0] = (
unsigned long)rfile;
94 log <<
MSG::ERROR <<
"Couldn't open \"" << fname <<
"\" for reading"
100 log <<
MSG::DEBUG <<
"Root file \"" << fname <<
"\" already opened"
106 }
else if ( mode[0] ==
'U' ) {
108 log <<
MSG::INFO <<
"opening Root file \"" << fname <<
"\" for updating"
114 }
else if ( mode[0] ==
'N' ) {
116 log <<
MSG::INFO <<
"opening Root file \"" << fname <<
"\" for writing";
117 if ( !m_compLevel.empty() )
118 { log <<
", CompressionLevel='" << m_compLevel <<
"'"; }
121 rfile = TFile::Open( fname.c_str(),
"RECREATE",
"Gaudi Trees" );
122 if ( ! ( rfile && rfile->IsOpen() ) ) {
123 log <<
MSG::ERROR <<
"Could not open file " << fname <<
" for writing"
127 if ( !m_compLevel.empty() )
130 rfile->SetCompressionSettings(settings.
level());
133 regTFile(ooname,rfile).ignore();
137 ipar[0] = (
unsigned long)rfile;
171 if ( pFile != 0 && pFile->
isOpen() ) {
173 unsigned long* ipar = (
unsigned long*)pAddress->
ipar();
174 if (findTFile(ooname,rfile).isFailure()) {
179 rfile->Write(0,TObject::kOverwrite);