ATLAS Offline Software
ThinningCacheTool.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-2020 CERN for the benefit of the ATLAS collaboration.
4  */
13 #ifndef ATHENASERVICES_THINNINGCACHETOOL_H
14 #define ATHENASERVICES_THINNINGCACHETOOL_H
15 
16 
21 #include "GaudiKernel/ServiceHandle.h"
22 
23 
24 namespace Athena {
25 
26 
36 class ThinningCacheTool : public extends<AthAlgTool, IAthenaOutputTool>
37 {
38 public:
39  using base_class::base_class;
40 
41 
45  virtual StatusCode initialize() override;
46 
47 
51  virtual StatusCode postInitialize() override;
52 
53 
57  virtual StatusCode preExecute() override;
58 
59 
65  virtual StatusCode preStream() override;
66 
67 
72  virtual StatusCode postExecute() override;
73 
74 
78  virtual StatusCode preFinalize() override;
79 
80 
81 private:
89  std::string wantedKey (const std::string& key) const;
90 
91 
93  StringProperty m_streamName
94  { this, "StreamName", "", "Name of the stream being written." };
95 
96 
99  { this, "TrigNavigationThinningSvc", "", "Service to use for TrigNavigation thinning (optional)." };
100 
101 
104 };
105 
106 
107 } // namespace Athena
108 
109 
110 #endif // not ATHENASERVICES_THINNINGCACHETOOL_H
Athena::ThinningCacheTool::postExecute
virtual StatusCode postExecute() override
Called at the end of execute.
Definition: ThinningCacheTool.cxx:140
Athena::ThinningCacheTool
Create ThinningCache for a given stream.
Definition: ThinningCacheTool.h:37
IAthenaOutputTool.h
This file contains the class definition for the IAthenaOutputTool class.
Athena::ThinningCacheTool::wantedKey
std::string wantedKey(const std::string &key) const
Test if a thinning decision object is for our stream.
Definition: ThinningCacheTool.cxx:169
Athena::ThinningCacheTool::m_streamName
StringProperty m_streamName
Name of the stream for this tool.
Definition: ThinningCacheTool.h:94
ITrigNavigationThinningSvc.h
Define interface for doing TrigNavigation thinning.
Athena::ThinningCacheTool::postInitialize
virtual StatusCode postInitialize() override
Called at the end of initialize.
Definition: ThinningCacheTool.cxx:39
Athena::ThinningCacheTool::initialize
virtual StatusCode initialize() override
Gaudi initialize method.
Definition: ThinningCacheTool.cxx:27
Athena::ThinningCacheTool::preStream
virtual StatusCode preStream() override
Called before actually streaming objects.
Definition: ThinningCacheTool.cxx:59
Athena::ThinningCacheTool::m_cache
SG::ThinningCache m_cache
Thinning cache instance for this stream.
Definition: ThinningCacheTool.h:103
Athena
Some weak symbol referencing magic...
Definition: AthLegacySequence.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Athena::ThinningCacheTool::preFinalize
virtual StatusCode preFinalize() override
Called at the beginning of finalize.
Definition: ThinningCacheTool.cxx:156
AthAlgTool.h
Athena::ThinningCacheTool::preExecute
virtual StatusCode preExecute() override
Called at the beginning of execute.
Definition: ThinningCacheTool.cxx:48
Athena::ThinningCacheTool::m_trigNavigationThinningSvc
ServiceHandle< ITrigNavigationThinningSvc > m_trigNavigationThinningSvc
Optional TrigNavigation thinning service to use.
Definition: ThinningCacheTool.h:99
SG::ThinningCache
Cache thinning decisions for converters.
Definition: ThinningCache.h:48
ServiceHandle< ITrigNavigationThinningSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
ThinningCache.h