ATLAS Offline Software
IMcVtxFilterTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // IMcVtxFilterTool.h
7 // Header file for class IMcVtxFilterTool
8 // Author: S.Binet<binet@cern.ch>
10 #ifndef MCPARTICLEKERNEL_IMCVTXFILTERTOOL_H
11 #define MCPARTICLEKERNEL_IMCVTXFILTERTOOL_H
12 
13 // STL includes
14 
15 // FrameWork includes
16 #include "GaudiKernel/IAlgTool.h"
17 #include "GaudiKernel/IProperty.h"
18 
19 // Forward declaration
20 class McEventCollection;
22 
23 static const InterfaceID IID_IMcVtxFilterTool("IMcVtxFilterTool", 1, 0);
24 
25 class IMcVtxFilterTool : virtual public IAlgTool,
26  virtual public IProperty
27 {
28 
30  // Public methods:
32  public:
33 
36  virtual ~IMcVtxFilterTool();
37 
38  // Athena algorithm's Hooks
39  virtual StatusCode initialize() = 0;
40  virtual StatusCode execute() = 0;
41 
43  // Const methods:
45  static const InterfaceID& interfaceID();
46 
49  virtual void displayOptions() const = 0;
50 
53  virtual void stats() const = 0;
54 
57  virtual bool isAccepted( const HepMC::ConstGenVertexPtr& vtx ) const = 0;
58 
60  // Non-const methods:
62 
66  virtual void filterMcEventCollection( const McEventCollection* mcCollection,
67  McEventCollection* filterColl ) = 0;
68 
70  // Protected data:
72  protected:
73 
74 };
75 
78 
82 inline const InterfaceID& IMcVtxFilterTool::interfaceID()
83 {
84  return IID_IMcVtxFilterTool;
85 }
86 
87 #endif //> MCPARTICLEKERNEL_IMCVTXFILTERTOOL_H
IMcVtxFilterTool::isAccepted
virtual bool isAccepted(const HepMC::ConstGenVertexPtr &vtx) const =0
Return true if one of the McVtxFilters accept this GenVertex.
IMcVtxFilterTool::stats
virtual void stats() const =0
Display the statistics for each McVtxFilter this Tool is embedding.
IMcVtxFilterTool::interfaceID
static const InterfaceID & interfaceID()
I/O operators.
Definition: IMcVtxFilterTool.h:82
IMcVtxFilterTool::~IMcVtxFilterTool
virtual ~IMcVtxFilterTool()
Destructor:
Definition: IMcVtxFilterTool.cxx:23
IMcVtxFilterTool::filterMcEventCollection
virtual void filterMcEventCollection(const McEventCollection *mcCollection, McEventCollection *filterColl)=0
Filter the McEventCollection according to the list of McVtxFilter embedded in this AlgTool,...
IMcVtxFilterTool
Definition: IMcVtxFilterTool.h:27
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GenVertex_fwd.h
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:33
HepMC::ConstGenVertexPtr
const HepMC::GenVertex * ConstGenVertexPtr
Definition: GenVertex.h:60
IMcVtxFilterTool::execute
virtual StatusCode execute()=0
IMcVtxFilterTool::displayOptions
virtual void displayOptions() const =0
Display the decay pattern of each McVtxFilter this Tool is embedding.
IMcVtxFilterTool::initialize
virtual StatusCode initialize()=0