The Gaudi Framework  v36r16 (ea80daf8)
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 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 // ============================================================================
12 #ifndef GAUDIPYTHON_ALGDECORATORS_H
13 #define GAUDIPYTHON_ALGDECORATORS_H 1
14 // ============================================================================
15 // Include files
16 // ============================================================================
17 // STD & STL
18 // ============================================================================
19 #include <string>
20 // ============================================================================
21 // GaudiAlg
22 // ============================================================================
24 // ============================================================================
25 // GaudiPython
26 // ============================================================================
28 // ============================================================================
29 // forward declarations
30 // ============================================================================
31 class IInterface;
32 class IProperty;
33 class IAlgTool;
34 class IAlgorithm;
35 class GaudiAlgorithm;
36 class GaudiTool;
37 class DataObject;
38 // ============================================================================
46 // ============================================================================
47 namespace GaudiPython {
48  // ==========================================================================
56  public:
57  // ========================================================================
62  // ========================================================================
63  // the general functional methods
64  // ========================================================================
65  public:
74  static IAlgTool* tool_( const GaudiAlgorithm* alg, const std::string& type, const std::string& name,
75  const IInterface* parent = 0, const bool create = true );
83  static IAlgTool* tool_( const GaudiAlgorithm* alg, const std::string& typeAndName, const IInterface* parent = 0,
84  const bool create = true );
91  static IInterface* svc_( const GaudiAlgorithm* alg, const std::string& name, const bool create = false );
92  // ========================================================================
93  // get the data from TES
94  // ========================================================================
95  public:
102  static DataObject* get_( const GaudiAlgorithm* alg, const std::string& location, const bool useRootInTes );
103  // ========================================================================
104  public:
105  // ========================================================================
112  static bool exist( const GaudiAlgorithm* alg, const std::string& location, const bool useRootInTes );
113  // ========================================================================
114  public: // inspection: get all counters:
115  // ========================================================================
117  static size_t _counters_t_( const GaudiTool* alg, std::vector<std::string>& names, Counters& out );
118  static size_t _counters_a_( const IAlgorithm* alg, std::vector<std::string>& names, Counters& out );
119  static size_t _counters_t_( const IAlgTool* alg, std::vector<std::string>& names, Counters& out );
120  // ========================================================================
121  public: // inspection: get the counter
122  // ========================================================================
123  static StatEntity* _counter_a_( const GaudiAlgorithm* alg, const std::string& name );
124  static StatEntity* _counter_t_( const GaudiTool* alg, const std::string& name );
125  static StatEntity* _counter_a_( const IAlgorithm* alg, const std::string& name );
126  static StatEntity* _counter_t_( const IAlgTool* alg, const std::string& name );
127  // ========================================================================
128  public: // inspection: get all tools
129  // ========================================================================
130  static size_t _tools_a_( const GaudiAlgorithm*, Tools& tools );
131  static size_t _tools_t_( const GaudiTool*, Tools& tools );
132  static size_t _tools_a_( const IAlgorithm*, Tools& tools );
133  static size_t _tools_t_( const IAlgTool*, Tools& tools );
134  // ========================================================================
135  };
136  // ==========================================================================
137 } // end of namespace GaudiPython
138 // ============================================================================
139 // The END
140 // ============================================================================
141 #endif // GAUDIPYTHON_ALGDECORATORS_H
GaudiPython::AlgDecorator::Tools
std::vector< IAlgTool * > Tools
Definition: AlgDecorators.h:60
GaudiPython.HistoUtils.location
location
Definition: HistoUtils.py:965
std::string
STL class.
IAlgTool
Definition: IAlgTool.h:33
GaudiPython::AlgDecorator::_counters_a_
static size_t _counters_a_(const IAlgorithm *alg, std::vector< std::string > &names, Counters &out)
GaudiPython::AlgDecorator
Definition: AlgDecorators.h:55
std::vector
STL class.
StatEntity
backward compatible StatEntity class.
Definition: StatEntity.h:23
basic.alg
alg
Definition: basic.py:15
IProperty
Definition: IProperty.h:33
TimingHistograms.name
name
Definition: TimingHistograms.py:25
IAlgorithm
Definition: IAlgorithm.h:38
GaudiAlgorithm
Definition: GaudiAlgorithm.h:104
GaudiPython.h
GaudiPython::AlgDecorator::Services
std::vector< IService * > Services
Definition: AlgDecorators.h:61
GaudiPython::AlgDecorator::_counters_a_
static size_t _counters_a_(const GaudiAlgorithm *alg, std::vector< std::string > &names, Counters &out)
GaudiPython::AlgDecorator::_counters_t_
static size_t _counters_t_(const IAlgTool *alg, std::vector< std::string > &names, Counters &out)
GaudiPython::AlgDecorator::Counters
std::vector< Gaudi::Accumulators::PrintableCounter * > Counters
the actual type of vector of counters
Definition: AlgDecorators.h:59
gaudirun.type
type
Definition: gaudirun.py:162
GaudiAlgorithm.h
GaudiPython
Namespace for all classes interfacing Gaudi to Python.
Definition: AlgDecorators.h:47
IInterface
Definition: IInterface.h:237
DataObject
Definition: DataObject.h:40
GaudiPython::AlgDecorator::_counters_t_
static size_t _counters_t_(const GaudiTool *alg, std::vector< std::string > &names, Counters &out)
GaudiTool
Definition: GaudiTool.h:110
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81
PrepareBase.out
out
Definition: PrepareBase.py:20