ATLAS Offline Software
ITruthParticleFilterTool.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 // ITruthParticleFilterTool.h
7 // Header file for class ITruthParticleFilterTool
8 // Author: S.Binet<binet@cern.ch>
10 #ifndef MCPARTICLEKERNEL_ITRUTHPARTICLEFILTERTOOL_H
11 #define MCPARTICLEKERNEL_ITRUTHPARTICLEFILTERTOOL_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;
21 
22 static const InterfaceID IID_ITruthParticleFilterTool("ITruthParticleFilterTool", 1, 0);
23 
24 class ITruthParticleFilterTool : virtual public IAlgTool,
25  virtual public IProperty
26 {
27 
29  // Public methods:
31  public:
32 
35  virtual ~ITruthParticleFilterTool();
36 
37  // Athena algorithm's Hooks
38  virtual StatusCode initialize() = 0;
39  virtual StatusCode execute() = 0;
40  virtual StatusCode finalize() = 0;
41 
43  // Const methods:
45  static const InterfaceID& interfaceID();
46 
48  // Non-const methods:
50 
58  McEventCollection* filtered ) = 0;
59 
61  // Protected data:
63  protected:
64 
65 };
66 
70 inline const InterfaceID& ITruthParticleFilterTool::interfaceID()
71 {
72  return IID_ITruthParticleFilterTool;
73 }
74 
75 
76 #endif //> MCPARTICLEKERNEL_ITRUTHPARTICLEFILTERTOOL_H
ITruthParticleFilterTool::buildMcAod
virtual StatusCode buildMcAod(const McEventCollection *in, McEventCollection *filtered)=0
This method will check the validity of the input McEventCollection and build a filtered one from the ...
ITruthParticleFilterTool::interfaceID
static const InterfaceID & interfaceID()
Inline methods:
Definition: ITruthParticleFilterTool.h:70
ITruthParticleFilterTool
Definition: ITruthParticleFilterTool.h:26
ITruthParticleFilterTool::execute
virtual StatusCode execute()=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:33
ITruthParticleFilterTool::initialize
virtual StatusCode initialize()=0
ITruthParticleFilterTool::~ITruthParticleFilterTool
virtual ~ITruthParticleFilterTool()
Destructor:
Definition: ITruthParticleFilterTool.cxx:22
ITruthParticleFilterTool::finalize
virtual StatusCode finalize()=0