The Gaudi Framework  v29r0 (ff2e7097)
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 // ============================================================================
14 // ============================================================================
15 // GaudiPython
16 // ============================================================================
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  // ==========================================================================
47  {
48  public:
49  // ========================================================================
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 // ============================================================================
std::vector< IService * > Services
Definition: AlgDecorators.h:53
Header file for class GaudiAlgorithm.
STL class.
std::vector< IAlgTool * > Tools
Definition: AlgDecorators.h:52
Definition of the basic interface.
Definition: IInterface.h:277
The useful base class for data processing algorithms.
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:28
GaudiPython.h GaudiPython/GaudiPython.h.
Definition: AlgDecorators.h:37
STL class.
std::vector< const StatEntity * > Counters
the actual type of vector of counters
Definition: AlgDecorators.h:51
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
The useful base class for tools.
Definition: GaudiTool.h:101
The basic counter used for Monitoring purposes.
Definition: StatEntity.h:65
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:20
#define GAUDI_API
Definition: Kernel.h:110
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29