ATLAS Offline Software
IFastJetInterfaceTool.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef JETINTERFACE_IFASTJETINTERFACETOOL_H
8 #define JETINTERFACE_IFASTJETINTERFACETOOL_H
9 
10 
11 #include "fastjet/PseudoJet.hh"
12 #include "AsgTools/IAsgTool.h"
13 
14 #include <vector>
15 
16 namespace fastjet
17 {
18  class ClusterSequence;
19  class JetDefinition;
20  class AreaDefinition;
21 }
22 
23 class IFastJetInterfaceTool : virtual public asg::IAsgTool
24 {
26 
27 public:
28 
29  typedef fastjet::PseudoJet fjet_t;
30  typedef std::vector<fjet_t> fjetlist_t;
31 
32  virtual ~IFastJetInterfaceTool() { };
33 
34  virtual StatusCode initialize() = 0;
35  virtual StatusCode execute(const fjetlist_t& inJets,fjetlist_t& outJets) = 0;
37  virtual const fastjet::ClusterSequence* clusterSequence() const = 0;
38 
39  virtual const fastjet::JetDefinition* getJetDefinition() const = 0;
40  virtual const fastjet::AreaDefinition* getAreaDefinition() const = 0;
41  virtual const std::string getAreaDefinitionType() const = 0;
42 
43 };
44 
48 #endif
IFastJetInterfaceTool::clusterSequence
virtual fastjet::ClusterSequence * clusterSequence()=0
fastjet
Definition: FastJetLinkBase.h:22
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
IFastJetInterfaceTool
General tool configuring fastjet functionality.
Definition: IFastJetInterfaceTool.h:24
IFastJetInterfaceTool::~IFastJetInterfaceTool
virtual ~IFastJetInterfaceTool()
Definition: IFastJetInterfaceTool.h:32
jet::ClusterSequence
fastjet::ClusterSequence ClusterSequence
Definition: ClusterSequence.h:21
IFastJetInterfaceTool::getAreaDefinition
virtual const fastjet::AreaDefinition * getAreaDefinition() const =0
IFastJetInterfaceTool::execute
virtual StatusCode execute(const fjetlist_t &inJets, fjetlist_t &outJets)=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IFastJetInterfaceTool::getJetDefinition
virtual const fastjet::JetDefinition * getJetDefinition() const =0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
IFastJetInterfaceTool::fjetlist_t
std::vector< fjet_t > fjetlist_t
Definition: IFastJetInterfaceTool.h:30
IFastJetInterfaceTool::clusterSequence
virtual const fastjet::ClusterSequence * clusterSequence() const =0
IFastJetInterfaceTool::fjet_t
fastjet::PseudoJet fjet_t
Definition: IFastJetInterfaceTool.h:29
IFastJetInterfaceTool::getAreaDefinitionType
virtual const std::string getAreaDefinitionType() const =0
IFastJetInterfaceTool::initialize
virtual StatusCode initialize()=0