ATLAS Offline Software
IHIUEModulatorTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // IHIUEModulatorTool.h
6 
7 #ifndef HIJETREC_IHIUEMODULATORTOOL_H
8 #define HIJETREC_IHIUEMODULATORTOOL_H
9 
10 #include "AsgTools/IAsgTool.h"
12 
13 
24 
25 class IHIUEModulatorTool : virtual public asg::IAsgTool {
27 
28  public:
29 
30  virtual ~IHIUEModulatorTool() { };
31 
32  virtual float getModulation(float, const xAOD::HIEventShape* shape = nullptr) const = 0;
33 
35 
36  virtual void setHarmonics(const std::vector<unsigned int>&) = 0;
37 
38  virtual StatusCode getShape(const xAOD::HIEventShape* & shape) const = 0;
39 
40 
41 };
42 
43 #endif
IHIUEModulatorTool::setEventShapeForModulation
virtual StatusCode setEventShapeForModulation(const xAOD::HIEventShape *)=0
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
IHIUEModulatorTool::~IHIUEModulatorTool
virtual ~IHIUEModulatorTool()
Definition: IHIUEModulatorTool.h:30
xAOD::HIEventShape_v2
Interface class for the HI reconstruction EDM.
Definition: HIEventShape_v2.h:31
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HIEventShape.h
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
IHIUEModulatorTool::setHarmonics
virtual void setHarmonics(const std::vector< unsigned int > &)=0
IHIUEModulatorTool::getShape
virtual StatusCode getShape(const xAOD::HIEventShape *&shape) const =0
IHIUEModulatorTool::getModulation
virtual float getModulation(float, const xAOD::HIEventShape *shape=nullptr) const =0
IHIUEModulatorTool
Abstract interface for tools that can provide UE modulation given an HIEventShape.
Definition: IHIUEModulatorTool.h:25