ATLAS Offline Software
Loading...
Searching...
No Matches
IObservableTool.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: IObservableTool.h 782989 2016-11-08 14:27:55Z will $
8#ifndef ASGANALYSISINTERFACES_IOBSERVABLETOOL_H
9#define ASGANALYSISINTERFACES_IOBSERVABLETOOL_H
10
11// System include(s):
12
13// Framework include(s):
14#include "AsgTools/IAsgTool.h"
15
16// Forward declaration
17namespace xAOD{
18 class IParticle;
19}
20
21
26
27
31
32class IObservableTool : public virtual asg::IAsgTool {
33
36
37 public:
38
40 virtual ~IObservableTool(){};
41
43 virtual double
44 evaluate( const xAOD::IParticle* ) const = 0;
45
46 }; // class IObservableTool
47
48
49#endif // PATINTERFACES_IOBSERVABLETOOL_H
#define ASG_TOOL_INTERFACE(CLASSNAME)
Interface for tools that want to calculate a quantity from an xAOD::IParticle.
virtual ~IObservableTool()
Declare the interface that this class provides.
virtual double evaluate(const xAOD::IParticle *) const =0
returns: the value that was calculated from the xAOD::IParticle
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Class providing the definition of the 4-vector interface.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.