ATLAS Offline Software
Loading...
Searching...
No Matches
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
25class 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
34 virtual StatusCode setEventShapeForModulation(const xAOD::HIEventShape*) = 0;
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
#define ASG_TOOL_INTERFACE(CLASSNAME)
Abstract interface for tools that can provide UE modulation given an HIEventShape.
virtual StatusCode getShape(const xAOD::HIEventShape *&shape) const =0
virtual float getModulation(float, const xAOD::HIEventShape *shape=nullptr) const =0
virtual void setHarmonics(const std::vector< unsigned int > &)=0
virtual StatusCode setEventShapeForModulation(const xAOD::HIEventShape *)=0
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
HIEventShape_v2 HIEventShape
Definition of the latest event info version.