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 {
39  // ==========================================================================
47  {
48  public:
49  // ========================================================================
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 // ============================================================================
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:234
The useful base class for data processing algorithms.
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:27
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:107
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30