ATLAS Offline Software
AthAlgStartVisitor.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 /*
3  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
4 */
5 /*
6  */
7 // $Id$
16 #ifndef ATHENABASECOMPS_ATHALGSTARTVISITOR_H
17 #define ATHENABASECOMPS_ATHALGSTARTVISITOR_H
18 
19 
20 #include "GaudiKernel/IDataHandleHolder.h"
21 #include <unordered_set>
22 
23 
40  : public IDataHandleVisitor
41 {
42 public:
47  virtual void visit (const IDataHandleHolder* holder) override;
48 
49  AthAlgStartVisitor() = default;
50  AthAlgStartVisitor(INamedInterface*);
51 
52 private:
54  std::unordered_set<const IDataHandleHolder*> m_seen;
55  bool m_recursive {true};
56  bool m_ignore {false};
57 };
58 
59 
60 #endif // not ATHENABASECOMPS_ATHALGSTARTVISITOR_H
AthAlgStartVisitor::visit
virtual void visit(const IDataHandleHolder *holder) override
Visit a component and start() any read conditions handles.
Definition: AthAlgStartVisitor.cxx:42
AthAlgStartVisitor::m_seen
std::unordered_set< const IDataHandleHolder * > m_seen
figure out where we're called from
Definition: AthAlgStartVisitor.h:54
AthAlgStartVisitor::AthAlgStartVisitor
AthAlgStartVisitor()=default
AthAlgStartVisitor
Call start() on all ReadCondHandle's of an algorithm.
Definition: AthAlgStartVisitor.h:41
AthAlgStartVisitor::m_ignore
bool m_ignore
process recursively (for Algs)
Definition: AthAlgStartVisitor.h:56
AthAlgStartVisitor::m_recursive
bool m_recursive
Definition: AthAlgStartVisitor.h:55