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 asg::AsgService,
31  virtual public IPlotsDefinitionSvc {
32 
33 public:
34 
36  PlotsDefinitionSvc( const std::string& name, ISvcLocator* pSvcLocator );
37 
39  virtual ~PlotsDefinitionSvc() = default;
40 
42  virtual StatusCode initialize() override;
43 
45  virtual StatusCode finalize() override;
46 
49  const std::string& identifier ) const override;
50 
53 
54 private:
55 
57 
59 
60  ToolHandle< IDTPM::IPlotsDefReadTool > m_plotsDefReadTool {
61  this, "PlotsDefReadTool", "IDTPM::InDetTrackPerfMon/IPlotsDefReadTool", "Tool to read plots definitions from parsed list of strings" };
62 
63  std::string m_anaTag;
64 
65 }; // class PlotsDefinitionSvc
66 
67 #endif // > !INDETTRACKPERFMON_PLOTSDEFINITIONSVC_H
PlotsDefinitionSvc
Athena include(s)
Definition: PlotsDefinitionSvc.h:31
IPlotsDefinitionSvc
Definition: IPlotsDefinitionSvc.h:31
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:24
PlotsDefinitionSvc::update
StatusCode update(const IDTPM::SinglePlotDefinition &def)
Update the map with a new entry.
Definition: PlotsDefinitionSvc.cxx:86
xAOD::identifier
identifier
Definition: UncalibratedMeasurement_v1.cxx:15
PlotsDefinitionSvc::~PlotsDefinitionSvc
virtual ~PlotsDefinitionSvc()=default
Destructor.
IPlotsDefinitionSvc::plotsDefMap_t
std::unordered_map< std::string, IDTPM::SinglePlotDefinition > plotsDefMap_t
typedef for map definition
Definition: IPlotsDefinitionSvc.h:36
asg::AsgService
Base class for the dual-use service implementation classes.
Definition: AsgService.h:43
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:30
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:74
IPlotsDefReadTool.h
Interface for plots definition reading tools in this package.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
PlotsDefinitionSvc::m_nullDef
IDTPM::SinglePlotDefinition m_nullDef
Definition: PlotsDefinitionSvc.h:58
PlotsDefinitionSvc::m_anaTag
std::string m_anaTag
Definition: PlotsDefinitionSvc.h:63
PlotsDefinitionSvc::finalize
virtual StatusCode finalize() override
finalize
Definition: PlotsDefinitionSvc.cxx:65
PlotsDefinitionSvc::m_plotsDefReadTool
ToolHandle< IDTPM::IPlotsDefReadTool > m_plotsDefReadTool
Definition: PlotsDefinitionSvc.h:60
PlotsDefinitionSvc::m_plotsDefMap
plotsDefMap_t m_plotsDefMap
Definition: PlotsDefinitionSvc.h:56