| The Gaudi Framework v27r1

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

- File List
- File Members

AlgDecorators.h
Go to the documentation of this file.
1 // ============================================================================
2 #ifndef GAUDIPYTHON_ALGDECORATORS_H
3 #define GAUDIPYTHON_ALGDECORATORS_H 1
4 // ============================================================================
5 // Include files
6 // ============================================================================
7 // STD & STL
8 // ============================================================================
9 #include <string>
10 // ============================================================================
11 // GaudiAlg
12 // ============================================================================
13 #include "GaudiAlg/GaudiAlgorithm.h"
14 // ============================================================================
15 // GaudiPython
16 // ============================================================================
17 #include "GaudiPython/GaudiPython.h"
18 // ============================================================================
19 // forward declarations
20 // ============================================================================
21 class IInterface ;
22 class IProperty ;
23 class IAlgTool ;
24 class IAlgorithm ;
25 class GaudiAlgorithm ;
26 class GaudiTool ;
27 class DataObject ;
28 // ============================================================================
36 // ============================================================================
37 namespace GaudiPython
38 {
39 // ==========================================================================
46 class GAUDI_API AlgDecorator
47 {
48 public:
49 // ========================================================================
51 typedef std::vector<const StatEntity*> Counters ;
52 typedef std::vector<IAlgTool*> Tools ;
53 typedef std::vector<IService*> Services ;
54 // ========================================================================
55 public: // the general functional methods
56 // ========================================================================
65 static IAlgTool* tool_
66 ( const GaudiAlgorithm* alg ,
67 const std::string& type ,
68 const std::string& name ,
69 const IInterface* parent = 0 ,
70 const bool create = true ) ;
78 static IAlgTool* tool_
79 ( const GaudiAlgorithm* alg ,
80 const std::string& typeAndName ,
81 const IInterface* parent = 0 ,
82 const bool create = true ) ;
89 static IInterface* svc_
90 ( const GaudiAlgorithm* alg ,
91 const std::string& name ,
92 const bool create = false ) ;
93 // ========================================================================
94 public: // get the data from TES
95 // ========================================================================
102 static DataObject* get_
103 ( const GaudiAlgorithm* alg ,
104 const std::string& location ,
105 const bool useRootInTes ) ;
106 // ========================================================================
107 public:
108 // ========================================================================
115 static bool exist
116 ( const GaudiAlgorithm* alg ,
117 const std::string& location ,
118 const bool useRootInTes ) ;
119 // ========================================================================
120 public: // inspection: get all counters:
121 // ========================================================================
122 static size_t _counters_a_
123 ( const GaudiAlgorithm* alg ,
124 std::vector<std::string>& names , Counters& out ) ;
125 static size_t _counters_t_
126 ( const GaudiTool* alg ,
127 std::vector<std::string>& names , Counters& out ) ;
128 static size_t _counters_a_
129 ( const IAlgorithm* alg ,
130 std::vector<std::string>& names , Counters& out ) ;
131 static size_t _counters_t_
132 ( const IAlgTool* alg ,
133 std::vector<std::string>& names , Counters& out ) ;
134 // ========================================================================
135 public: // inspection: get the counter
136 // ========================================================================
137 static const StatEntity* _counter_a_
138 ( const GaudiAlgorithm* alg , const std::string& name ) ;
139 static const StatEntity* _counter_t_
140 ( const GaudiTool* alg , const std::string& name ) ;
141 static const StatEntity* _counter_a_
142 ( const IAlgorithm* alg , const std::string& name ) ;
143 static const StatEntity* _counter_t_
144 ( const IAlgTool* alg , const std::string& name ) ;
145 // ========================================================================
146 public: // inspection: get all tools
147 // ========================================================================
148 static size_t _tools_a_ ( const GaudiAlgorithm* , Tools& tools ) ;
149 static size_t _tools_t_ ( const GaudiTool* , Tools& tools ) ;
150 static size_t _tools_a_ ( const IAlgorithm* , Tools& tools ) ;
151 static size_t _tools_t_ ( const IAlgTool* , Tools& tools ) ;
152 // ========================================================================
153 };
154 // ==========================================================================
155 } // end of namespace GaudiPython
156 // ============================================================================
157 // The END
158 // ============================================================================
159 #endif // GAUDIPYTHON_ALGDECORATORS_H
160 // ============================================================================
GaudiPython::AlgDecorator::Services
std::vector< IService * > Services
Definition: AlgDecorators.h:53
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:28
GaudiAlgorithm.h
std::string
STL class.
GaudiPython::AlgDecorator::Tools
std::vector< IAlgTool * > Tools
Definition: AlgDecorators.h:52
gaudirun.type
string type
Definition: gaudirun.py:151
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
GaudiAlgorithm
The useful base class for data processing algorithms.
Definition: GaudiAlgorithm.h:93
GaudiPython::AlgDecorator
Definition: AlgDecorators.h:46
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:25
GaudiPython.h
GaudiPython
GaudiPython.h GaudiPython/GaudiPython.h.
Definition: AlgDecorators.h:37
std::vector
STL class.
GaudiPython::AlgDecorator::Counters
std::vector< const StatEntity * > Counters
the actual type of vector of counters
Definition: AlgDecorators.h:51
IAlgTool
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
GaudiTool
The useful base class for tools.
Definition: GaudiTool.h:98
StatEntity
The basic counter used for Monitoring purposes.
Definition: StatEntity.h:64
IProperty
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:21
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30