ATLAS Offline Software
IAsgSelectionTool.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // IAsgSelectionTool.h
8 // Header file for class IAsgSelectionTool
9 // Author: Karsten Koeneke <karsten.koeneke@cern.ch>
11 #ifndef PATCORE_IASGSELECTIONTOOL_H
12 #define PATCORE_IASGSELECTIONTOOL_H 1
13 
14 // FrameWork includes
15 #include "AsgTools/IAsgTool.h"
16 
17 // Include the return object
18 #include "PATCore/AcceptInfo.h"
19 #include "PATCore/AcceptData.h"
20 
21 // Forward declaration
22 namespace xAOD{
23  class IParticle;
24 }
25 
27  : virtual public asg::IAsgTool
28 {
31 
32 
33 
34  // Public methods:
36  public:
37 
39  // Const methods:
41 
43  virtual const asg::AcceptInfo& getAcceptInfo( ) const = 0;
44 
45 
47  virtual asg::AcceptData accept( const xAOD::IParticle* /*part*/ ) const = 0;
48 
49 
50 };
51 
52 #endif //> !PATCORE_IASGSELECTIONTOOL_H
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
IAsgSelectionTool::getAcceptInfo
virtual const asg::AcceptInfo & getAcceptInfo() const =0
Declare the interface ID for this pure-virtual interface class to the Athena framework.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
IAsgSelectionTool
Definition: IAsgSelectionTool.h:28
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
IAsgSelectionTool::accept
virtual asg::AcceptData accept(const xAOD::IParticle *) const =0
The main accept method: the actual cuts are applied here.
asg::AcceptInfo
Definition: AcceptInfo.h:28
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
AcceptData.h
AcceptInfo.h
asg::AcceptData
Definition: AcceptData.h:30
IParticle
Definition: Event/EventKernel/EventKernel/IParticle.h:43