| The Gaudi Framework v29r0 (ff2e7097)

- 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 // the general functional methods
56 // ========================================================================
57 public:
66 static IAlgTool* tool_( const GaudiAlgorithm* alg, const std::string& type, const std::string& name,
67 const IInterface* parent = 0, const bool create = true );
75 static IAlgTool* tool_( const GaudiAlgorithm* alg, const std::string& typeAndName, const IInterface* parent = 0,
76 const bool create = true );
83 static IInterface* svc_( const GaudiAlgorithm* alg, const std::string& name, const bool create = false );
84 // ========================================================================
85 // get the data from TES
86 // ========================================================================
87 public:
94 static DataObject* get_( const GaudiAlgorithm* alg, const std::string& location, const bool useRootInTes );
95 // ========================================================================
96 public:
97 // ========================================================================
104 static bool exist( const GaudiAlgorithm* alg, const std::string& location, const bool useRootInTes );
105 // ========================================================================
106 public: // inspection: get all counters:
107 // ========================================================================
108 static size_t _counters_a_( const GaudiAlgorithm* alg, std::vector<std::string>& names, Counters& out );
109 static size_t _counters_t_( const GaudiTool* alg, std::vector<std::string>& names, Counters& out );
110 static size_t _counters_a_( const IAlgorithm* alg, std::vector<std::string>& names, Counters& out );
111 static size_t _counters_t_( const IAlgTool* alg, std::vector<std::string>& names, Counters& out );
112 // ========================================================================
113 public: // inspection: get the counter
114 // ========================================================================
115 static const StatEntity* _counter_a_( const GaudiAlgorithm* alg, const std::string& name );
116 static const StatEntity* _counter_t_( const GaudiTool* alg, const std::string& name );
117 static const StatEntity* _counter_a_( const IAlgorithm* alg, const std::string& name );
118 static const StatEntity* _counter_t_( const IAlgTool* alg, const std::string& name );
119 // ========================================================================
120 public: // inspection: get all tools
121 // ========================================================================
122 static size_t _tools_a_( const GaudiAlgorithm*, Tools& tools );
123 static size_t _tools_t_( const GaudiTool*, Tools& tools );
124 static size_t _tools_a_( const IAlgorithm*, Tools& tools );
125 static size_t _tools_t_( const IAlgTool*, Tools& tools );
126 // ========================================================================
127 };
128 // ==========================================================================
129 } // end of namespace GaudiPython
130 // ============================================================================
131 // The END
132 // ============================================================================
133 #endif // GAUDIPYTHON_ALGDECORATORS_H
134 // ============================================================================
GaudiPython::AlgDecorator::Services
std::vector< IService * > Services
Definition: AlgDecorators.h:53
gaudiComponentHelp.name
name
Definition: gaudiComponentHelp.py:32
GaudiAlgorithm.h
Header file for class GaudiAlgorithm.
GaudiPython.HistoUtils.location
location
Definition: HistoUtils.py:899
std::string
STL class.
GaudiPython::AlgDecorator::Tools
std::vector< IAlgTool * > Tools
Definition: AlgDecorators.h:52
IInterface
Definition of the basic interface.
Definition: IInterface.h:277
gaudirun.type
type
Definition: gaudirun.py:133
GaudiAlgorithm
The useful base class for data processing algorithms.
Definition: GaudiAlgorithm.h:94
GaudiPython::AlgDecorator
Definition: AlgDecorators.h:46
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:28
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:101
StatEntity
The basic counter used for Monitoring purposes.
Definition: StatEntity.h:65
IProperty
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:20
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29