| The Gaudi Framework v28r2p1 (f1a77ff4)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

AlgContext.cpp
Go to the documentation of this file.
1 // ============================================================================
2 // Include files
3 // ============================================================================
4 // GaudiKernel
5 // ============================================================================
6 #include "GaudiKernel/IAlgContextSvc.h"
7 #include "GaudiKernel/IAlgorithm.h"
8 // ============================================================================
14 // ============================================================================
15 /* constructor from service and algorithm
16 * Internally invokes IAlgContextSvc::setCurrentAlg
17 * @see IAlgorithm
18 * @see IAlgContextSvc
19 * @param svc pointer to algorithm context service
20 * @param alg pointer to the current algorithm
21 */
22 // ============================================================================
23 Gaudi::Utils::AlgContext::AlgContext
24 ( IAlgContextSvc* svc ,
25 IAlgorithm* alg )
26 : m_svc ( svc )
27 , m_alg ( alg )
28 {
29 if ( m_svc && m_alg ) { m_svc->setCurrentAlg ( m_alg.get() ).ignore() ; }
30 }
31 // ============================================================================
32 /* constructor from service and algorithm
33 * Internally invokes IAlgContextSvc::setCurrentAlg
34 * @see IAlgorithm
35 * @see IAlgContextSvc
36 * @param alg pointer to the current algorithm
37 * @param svc pointer to algorithm context service
38 */
39 // ============================================================================
40 Gaudi::Utils::AlgContext::AlgContext
41 ( IAlgorithm* alg ,
42 IAlgContextSvc* svc )
43 : m_svc ( svc )
44 , m_alg ( alg )
45 {
46 if ( m_svc && m_alg ) { m_svc->setCurrentAlg ( m_alg.get() ).ignore() ; }
47 }
48 // ============================================================================
49 /* destructor
50 * Internally invokes IAlgContextSvc::unSetCurrentAlg
51 * @see IAlgorithm
52 * @see IAlgContextSvc
53 */
54 // ============================================================================
55 Gaudi::Utils::AlgContext::~AlgContext()
56 {
57 if ( m_svc && m_alg )
58 { m_svc->unSetCurrentAlg ( m_alg.get() ).ignore() ; }
59 }
60 // ============================================================================
61
62
63 // ============================================================================
64 // The END
65 // ============================================================================
66
Gaudi::Utils::AlgContext::~AlgContext
~AlgContext()
destructor Internally invokes IAlgContextSvc::unSetCurrentAlg
Definition: AlgContext.cpp:55
IAlgorithm.h
SmartIF::get
TYPE * get() const
Get interface pointer.
Definition: SmartIF.h:76
IAlgorithm
The IAlgorithm is the interface implemented by the Algorithm base class.
Definition: IAlgorithm.h:27
IAlgContextSvc.h
Gaudi::Utils::AlgContext::m_svc
SmartIF< IAlgContextSvc > m_svc
Definition: IAlgContextSvc.h:113
IAlgContextSvc
An abstract interface for Algorithm Context Service.
Definition: IAlgContextSvc.h:23
Gaudi::Utils::AlgContext::AlgContext
AlgContext()=delete
IAlgContextSvc::unSetCurrentAlg
virtual StatusCode unSetCurrentAlg(IAlgorithm *a)=0
remove the algorithm ("pop_back")
Gaudi::Utils::AlgContext::m_alg
SmartIF< IAlgorithm > m_alg
Definition: IAlgContextSvc.h:114