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