Gaudi Framework, version v25r0
Home
Generated: Mon Feb 17 2014
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
GaudiPython
GaudiPython
AlgDecorators.h
Go to the documentation of this file.
1
// $Id: AlgDecorators.h,v 1.2 2005/11/08 16:31:03 mato Exp $
2
// ============================================================================
3
#ifndef GAUDIPYTHON_ALGDECORATORS_H
4
#define GAUDIPYTHON_ALGDECORATORS_H 1
5
// ============================================================================
6
// Include files
7
// ============================================================================
8
// STD & STL
9
// ============================================================================
10
#include <
string
>
11
// ============================================================================
12
// GaudiAlg
13
// ============================================================================
14
#include "
GaudiAlg/GaudiAlgorithm.h
"
15
// ============================================================================
16
// GaudiPython
17
// ============================================================================
18
#include "
GaudiPython/GaudiPython.h
"
19
// ============================================================================
20
// forward declarations
21
// ============================================================================
22
class
IInterface
;
23
class
IProperty
;
24
class
IAlgTool
;
25
class
IAlgorithm
;
26
class
GaudiAlgorithm
;
27
class
GaudiTool
;
28
class
DataObject
;
29
// ============================================================================
37
// ============================================================================
38
namespace
GaudiPython
39
{
40
// ==========================================================================
47
class
GAUDI_API
AlgDecorator
48
{
49
public
:
50
// ========================================================================
52
typedef
std::vector<const StatEntity*>
Counters
;
53
typedef
std::vector<IAlgTool*>
Tools
;
54
typedef
std::vector<IService*>
Services
;
55
// ========================================================================
56
public
:
// the general functional methods
57
// ========================================================================
66
static
IAlgTool
* tool_
67
(
const
GaudiAlgorithm
* alg ,
68
const
std::string
&
type
,
69
const
std::string
& name ,
70
const
IInterface
* parent = 0 ,
71
const
bool
create =
true
) ;
79
static
IAlgTool
* tool_
80
(
const
GaudiAlgorithm
* alg ,
81
const
std::string
& typeAndName ,
82
const
IInterface
* parent = 0 ,
83
const
bool
create =
true
) ;
90
static
IInterface
* svc_
91
(
const
GaudiAlgorithm
* alg ,
92
const
std::string
& name ,
93
const
bool
create =
false
) ;
94
// ========================================================================
95
public
:
// get the data from TES
96
// ========================================================================
103
static
DataObject
* get_
104
(
const
GaudiAlgorithm
* alg ,
105
const
std::string
& location ,
106
const
bool
useRootInTes ) ;
107
// ========================================================================
108
public
:
109
// ========================================================================
116
static
bool
exist
117
(
const
GaudiAlgorithm
* alg ,
118
const
std::string
& location ,
119
const
bool
useRootInTes ) ;
120
// ========================================================================
121
public
:
// inspection: get all counters:
122
// ========================================================================
123
static
size_t
_counters_a_
124
(
const
GaudiAlgorithm
* alg ,
125
std::vector<std::string>
&
names
,
Counters
& out ) ;
126
static
size_t
_counters_t_
127
(
const
GaudiTool
* alg ,
128
std::vector<std::string>
&
names
,
Counters
& out ) ;
129
static
size_t
_counters_a_
130
(
const
IAlgorithm
* alg ,
131
std::vector<std::string>
&
names
,
Counters
& out ) ;
132
static
size_t
_counters_t_
133
(
const
IAlgTool
* alg ,
134
std::vector<std::string>
&
names
,
Counters
& out ) ;
135
// ========================================================================
136
public
:
// inspection: get the counter
137
// ========================================================================
138
static
const
StatEntity
* _counter_a_
139
(
const
GaudiAlgorithm
* alg ,
const
std::string
& name ) ;
140
static
const
StatEntity
* _counter_t_
141
(
const
GaudiTool
* alg ,
const
std::string
& name ) ;
142
static
const
StatEntity
* _counter_a_
143
(
const
IAlgorithm
* alg ,
const
std::string
& name ) ;
144
static
const
StatEntity
* _counter_t_
145
(
const
IAlgTool
* alg ,
const
std::string
& name ) ;
146
// ========================================================================
147
public
:
// inspection: get all tools
148
// ========================================================================
149
static
size_t
_tools_a_ (
const
GaudiAlgorithm
* ,
Tools
& tools ) ;
150
static
size_t
_tools_t_ (
const
GaudiTool
* ,
Tools
& tools ) ;
151
static
size_t
_tools_a_ (
const
IAlgorithm
* ,
Tools
& tools ) ;
152
static
size_t
_tools_t_ (
const
IAlgTool
* ,
Tools
& tools ) ;
153
// ========================================================================
154
};
155
// ==========================================================================
156
}
// end of namespace GaudiPython
157
// ============================================================================
158
// The END
159
// ============================================================================
160
#endif // GAUDIPYTHON_ALGDECORATORS_H
161
// ============================================================================
Generated at Mon Feb 17 2014 14:37:47 for Gaudi Framework, version v25r0 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004