Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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  // ==========================================================================
46  public:
47  // ========================================================================
52  // ========================================================================
53  // the general functional methods
54  // ========================================================================
55  public:
64  static IAlgTool* tool_( const GaudiAlgorithm* alg, const std::string& type, const std::string& name,
65  const IInterface* parent = 0, const bool create = true );
73  static IAlgTool* tool_( const GaudiAlgorithm* alg, const std::string& typeAndName, const IInterface* parent = 0,
74  const bool create = true );
81  static IInterface* svc_( const GaudiAlgorithm* alg, const std::string& name, const bool create = false );
82  // ========================================================================
83  // get the data from TES
84  // ========================================================================
85  public:
92  static DataObject* get_( const GaudiAlgorithm* alg, const std::string& location, const bool useRootInTes );
93  // ========================================================================
94  public:
95  // ========================================================================
102  static bool exist( const GaudiAlgorithm* alg, const std::string& location, const bool useRootInTes );
103  // ========================================================================
104  public: // inspection: get all counters:
105  // ========================================================================
106  static size_t _counters_a_( const GaudiAlgorithm* alg, std::vector<std::string>& names, Counters& out );
107  static size_t _counters_t_( const GaudiTool* alg, std::vector<std::string>& names, Counters& out );
108  static size_t _counters_a_( const IAlgorithm* alg, std::vector<std::string>& names, Counters& out );
109  static size_t _counters_t_( const IAlgTool* alg, std::vector<std::string>& names, Counters& out );
110  // ========================================================================
111  public: // inspection: get the counter
112  // ========================================================================
113  static StatEntity* _counter_a_( const GaudiAlgorithm* alg, const std::string& name );
114  static StatEntity* _counter_t_( const GaudiTool* alg, const std::string& name );
115  static StatEntity* _counter_a_( const IAlgorithm* alg, const std::string& name );
116  static StatEntity* _counter_t_( const IAlgTool* alg, const std::string& name );
117  // ========================================================================
118  public: // inspection: get all tools
119  // ========================================================================
120  static size_t _tools_a_( const GaudiAlgorithm*, Tools& tools );
121  static size_t _tools_t_( const GaudiTool*, Tools& tools );
122  static size_t _tools_a_( const IAlgorithm*, Tools& tools );
123  static size_t _tools_t_( const IAlgTool*, Tools& tools );
124  // ========================================================================
125  };
126  // ==========================================================================
127 } // end of namespace GaudiPython
128 // ============================================================================
129 // The END
130 // ============================================================================
131 #endif // GAUDIPYTHON_ALGDECORATORS_H
std::vector< IService * > Services
Definition: AlgDecorators.h:51
std::vector< Gaudi::Accumulators::PrintableCounter * > Counters
the actual type of vector of counters
Definition: AlgDecorators.h:49
Header file for class GaudiAlgorithm.
STL class.
std::vector< IAlgTool * > Tools
Definition: AlgDecorators.h:50
Definition of the basic interface.
Definition: IInterface.h:244
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.
The interface implemented by the AlgTool base class.
Definition: IAlgTool.h:23
The useful base class for tools.
Definition: GaudiTool.h:101
backward compatible StatEntity class.
Definition: Counters.h:837
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:71
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30