ATLAS Offline Software
PlotsDefinitionSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INDETTRACKPERFMON_PLOTSDEFINITIONSVC_H
6 #define INDETTRACKPERFMON_PLOTSDEFINITIONSVC_H
7 
17 #include "AsgServices/AsgService.h"
19 
21 #include "GaudiKernel/ToolHandle.h"
22 
25 #include "IPlotsDefReadTool.h"
26 #include "SinglePlotDefinition.h"
27 
28 
30  public extends<asg::AsgService, IPlotsDefinitionSvc> {
31 
32 public:
33 
35  PlotsDefinitionSvc( const std::string& name, ISvcLocator* pSvcLocator );
36 
38  virtual ~PlotsDefinitionSvc() = default;
39 
41  virtual StatusCode initialize() override;
42 
44  virtual StatusCode finalize() override;
45 
48  const std::string& identifier ) const override;
49 
52 
53 private:
54 
55  plotsDefMap_t m_plotsDefMap;
56 
58 
59  ToolHandle< IDTPM::IPlotsDefReadTool > m_plotsDefReadTool {
60  this, "PlotsDefReadTool", "IDTPM::InDetTrackPerfMon/IPlotsDefReadTool", "Tool to read plots definitions from parsed list of strings" };
61 
62  std::string m_anaTag;
63 
64 }; // class PlotsDefinitionSvc
65 
66 #endif // > !INDETTRACKPERFMON_PLOTSDEFINITIONSVC_H
PlotsDefinitionSvc
Athena include(s)
Definition: PlotsDefinitionSvc.h:30
SinglePlotDefinition.h
Class to store (internally) each plot definition in this package (originally based on the SingleHisto...
AsgService.h
IPlotsDefinitionSvc.h
IDTPM::SinglePlotDefinition
Definition: SinglePlotDefinition.h:25
PlotsDefinitionSvc::update
StatusCode update(const IDTPM::SinglePlotDefinition &def)
Update the map with a new entry.
Definition: PlotsDefinitionSvc.cxx:84
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
PlotsDefinitionSvc::~PlotsDefinitionSvc
virtual ~PlotsDefinitionSvc()=default
Destructor.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotsDefinitionSvc::initialize
virtual StatusCode initialize() override
initialize
Definition: PlotsDefinitionSvc.cxx:29
PlotsDefinitionSvc::PlotsDefinitionSvc
PlotsDefinitionSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: PlotsDefinitionSvc.cxx:18
PlotsDefinitionSvc::definition
virtual const IDTPM::SinglePlotDefinition & definition(const std::string &identifier) const override
Get the plot definition.
Definition: PlotsDefinitionSvc.cxx:72
IPlotsDefReadTool.h
Interface for plots definition reading tools in this package.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
PlotsDefinitionSvc::m_nullDef
IDTPM::SinglePlotDefinition m_nullDef
Definition: PlotsDefinitionSvc.h:57
PlotsDefinitionSvc::m_anaTag
std::string m_anaTag
Definition: PlotsDefinitionSvc.h:62
PlotsDefinitionSvc::finalize
virtual StatusCode finalize() override
finalize
Definition: PlotsDefinitionSvc.cxx:63
PlotsDefinitionSvc::m_plotsDefReadTool
ToolHandle< IDTPM::IPlotsDefReadTool > m_plotsDefReadTool
Definition: PlotsDefinitionSvc.h:59
PlotsDefinitionSvc::m_plotsDefMap
plotsDefMap_t m_plotsDefMap
Definition: PlotsDefinitionSvc.h:55