ATLAS Offline Software
Loading...
Searching...
No Matches
IUserDataCalcTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5// Dear emacs, this is -*-c++-*-
6#ifndef PATCORE_IUSERDATACALCTOOL_H
7#define PATCORE_IUSERDATACALCTOOL_H
8
9//============================================================================
10// Name: IUserDataCalcTool.h
11//
23//=============================================================================
24
25
26// Athena Tool Interface
27#include "GaudiKernel/IAlgTool.h"
28
29
30// forward declaration
31class IAthenaBarCode;
32
33
34
35static const InterfaceID IID_IUserDataCalcTool("IUserDataCalcTool", 1, 0);
36
37
39 : virtual public ::IAlgTool
40{
41public:
42
43
45 static const InterfaceID& interfaceID();
46
47
48public:
49
52 virtual StatusCode calculateElementUserData( const IAthenaBarCode *abc ) = 0;
53
55 virtual StatusCode calculateEventUserData( /*not sure what to use here yet*/ ) = 0;
56
57
58
59}; // End class IUserDataCalcTool
60
61
65inline const InterfaceID& IUserDataCalcTool::interfaceID()
66{
68}
69
70#endif
static const InterfaceID IID_IUserDataCalcTool("IUserDataCalcTool", 1, 0)
This is the base class for all tools that will be used to calculate UserDate. It is of course not req...
static const InterfaceID & interfaceID()
AlgTool interface methods.
virtual StatusCode calculateElementUserData(const IAthenaBarCode *abc)=0
Calculate the UserData for a simple element, e.g., an individual electron (must inherit from IAthenaB...
virtual StatusCode calculateEventUserData()=0
Calculate the UserData for an entire event.