Gaudi Framework, version v23r6
Home
Generated: Wed Jan 30 2013
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
GaudiSvc
src
NTupleSvc
NTupleSvc.h
Go to the documentation of this file.
1
// $Id: NTupleSvc.h,v 1.9 2006/11/30 14:57:04 mato Exp $
2
#ifndef GAUDI_NTUPLESVC_H
3
#define GAUDI_NTUPLESVC_H 1
4
5
// Framework include files
6
#include "
GaudiKernel/INTupleSvc.h
"
7
#include "
GaudiKernel/IDataSourceMgr.h
"
8
#include "
GaudiKernel/DataSvc.h
"
9
10
// STL include files
11
#include <
map
>
12
13
// Forward declarations
14
template
<
class
TYPE>
class
SvcFactory
;
15
27
class
NTupleSvc
:
public
extends2
<DataSvc, INTupleSvc, IDataSourceMgr>
28
{
29
private
:
30
protected
:
31
struct
Connection
{
32
IConversionSvc
*
service
;
33
Connection
(
IConversionSvc
*
s
) :
service
(s) {}
34
Connection
(
const
Connection
&
c
) :
service
(c.
service
) {}
35
};
36
friend
class
SvcFactory
<
NTupleSvc
>;
37
typedef
std::vector< std::string >
DBaseEntries
;
38
typedef
std::map<std::string, Connection>
Connections
;
39
typedef
std::pair<std::string,std::string>
Prop
;
40
41
private
:
42
public
:
44
virtual
StatusCode
initialize
();
46
virtual
StatusCode
reinitialize
();
48
virtual
StatusCode
finalize
();
50
virtual
IConversionSvc
*
getDataLoader
(
IRegistry
* pReg);
51
53
virtual
NTuple::Directory
*
createDirectory
(
DataObject
* pParent,
const
std::string
& title);
55
virtual
NTuple::Directory
*
createDirectory
(
DataObject
* pParent,
long
id
);
57
virtual
NTuple::Directory
*
createDirectory
(
const
std::string
& dirPath,
long
id
);
59
virtual
NTuple::Directory
*
createDirectory
(
const
std::string
& dirPath,
const
std::string
& title);
61
virtual
NTuple::Directory
*
createDirectory
(
const
std::string
& fullPath);
62
64
virtual
StatusCode
create
(
const
CLID
& typ,
const
std::string
& title,
NTuple::Tuple
*& refpTuple);
66
virtual
NTuple::Tuple
*
book
(
const
std::string
& fullPath,
const
CLID
&
type
,
const
std::string
& title);
68
virtual
NTuple::Tuple
*
book
(
const
std::string
& dirPath,
const
std::string
& relPath,
const
CLID
&
type
,
const
std::string
& title);
70
virtual
NTuple::Tuple
*
book
(
const
std::string
& dirPath,
long
id
,
const
CLID
&
type
,
const
std::string
& title);
72
virtual
NTuple::Tuple
*
book
(
DataObject
* pParent,
const
std::string
& relPath,
const
CLID
&
type
,
const
std::string
& title);
74
virtual
NTuple::Tuple
*
book
(
DataObject
* pParent,
long
id
,
const
CLID
&
type
,
const
std::string
& title);
76
virtual
NTuple::Tuple
*
access
(
const
std::string
& fullPath,
const
std::string
& filename);
78
virtual
StatusCode
save
(
const
std::string
& fullPath);
80
virtual
StatusCode
save
(
NTuple::Tuple
* tuple);
82
virtual
StatusCode
save
(
DataObject
* pParent,
const
std::string
& relPath);
84
virtual
StatusCode
writeRecord
(
NTuple::Tuple
* tuple );
86
virtual
StatusCode
writeRecord
(
const
std::string
& fullPath );
88
virtual
StatusCode
writeRecord
(
DataObject
* pParent,
const
std::string
& relPath );
90
virtual
StatusCode
readRecord
(
NTuple::Tuple
* tuple );
92
virtual
StatusCode
readRecord
(
const
std::string
& fullPath );
94
virtual
StatusCode
readRecord
(
DataObject
* pParent,
const
std::string
& relPath);
95
97
virtual
bool
isConnected
(
const
std::string
& identifier)
const
;
99
virtual
StatusCode
connect
(
const
std::string
& ident);
101
virtual
StatusCode
connect
(
const
std::string
& ident,
std::string
& logname);
103
virtual
StatusCode
disconnect
(
const
std::string
& nam);
105
virtual
StatusCode
disconnectAll
();
106
108
NTupleSvc
(
const
std::string
&
name
,
ISvcLocator
* svc);
110
virtual
~NTupleSvc
();
111
protected
:
112
114
StatusCode
createService
(
const
std::string
& nam,
115
const
std::string
& typ,
116
const
std::vector<Prop>
& props,
117
IConversionSvc
*& pSvc);
119
void
releaseConnection
(
Connection
&
c
);
121
StatusCode
attachTuple
(
const
std::string
& filename,
const
std::string
& logname,
const
char
typ,
const
long
t);
123
StatusCode
updateDirectories
();
124
126
DBaseEntries
m_output
;
128
DBaseEntries
m_input
;
130
Connections
m_connections
;
131
};
132
133
#endif // GAUDI_NTUPLESVC_H
Generated at Wed Jan 30 2013 17:13:41 for Gaudi Framework, version v23r6 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004