ATLAS Offline Software
IDecisionSvc.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // IDecisionSvc.h
8 // Header file for class IDecisionSvc
9 // Author: S.Binet<binet@cern.ch>
10 // B.Radics<radbal@cern.ch>
12 #ifndef ATHENAKERNEL_IDECISIONSVC_H
13 #define ATHENAKERNEL_IDECISIONSVC_H 1
14 
21 // STL includes
22 #include <vector>
23 #include <string>
24 
25 // fwd declares
26 class INamedInterface;
27 class EventContext;
28 
29 
31  : virtual public ::INamedInterface
32 {
33 
34 public:
36  virtual ~IDecisionSvc();
37 
39  // Non-const methods:
41 
42 public:
43 
44  // Add Stream
45  virtual StatusCode addStream(const std::string& stream) = 0;
46  // Add methods of Accept/Require/Veto algorithms for a given stream
47  virtual StatusCode addAcceptAlg(const std::string& name,
48  const std::string& stream) = 0;
49  virtual StatusCode addRequireAlg(const std::string& name,
50  const std::string& stream) = 0;
51  virtual StatusCode addVetoAlg(const std::string& name,
52  const std::string& stream) = 0;
53 
55  // Const methods:
57 
58  // Get methods of Accept/Require/Veto algorithms for a given stream
59  virtual
60  const std::vector<std::string> getAcceptAlgs(const std::string& stream) const = 0;
61 
62  virtual
63  const std::vector<std::string> getRequireAlgs(const std::string& stream) const = 0;
64 
65  virtual
66  const std::vector<std::string> getVetoAlgs(const std::string& stream) const = 0;
67 
68  // Get list of streams
69  virtual const std::vector<std::string> getStreams() const = 0;
70 
72  virtual bool isEventAccepted(const std::string& stream) const = 0;
73  virtual bool isEventAccepted(const std::string& stream, const EventContext&) const = 0;
74 };
75 
76 #endif //> !ATHENAKERNEL_IDECISIONSVC_H
IDecisionSvc::getStreams
virtual const std::vector< std::string > getStreams() const =0
IDecisionSvc::addRequireAlg
virtual StatusCode addRequireAlg(const std::string &name, const std::string &stream)=0
IDecisionSvc::~IDecisionSvc
virtual ~IDecisionSvc()
Definition: IDecisionSvc.cxx:20
IDecisionSvc::getAcceptAlgs
virtual const std::vector< std::string > getAcceptAlgs(const std::string &stream) const =0
IDecisionSvc::getRequireAlgs
virtual const std::vector< std::string > getRequireAlgs(const std::string &stream) const =0
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
IDecisionSvc::addStream
virtual StatusCode addStream(const std::string &stream)=0
IDecisionSvc::addAcceptAlg
virtual StatusCode addAcceptAlg(const std::string &name, const std::string &stream)=0
IDecisionSvc
This class defines a protocol to register boolean decisions and.
Definition: IDecisionSvc.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IDecisionSvc::getVetoAlgs
virtual const std::vector< std::string > getVetoAlgs(const std::string &stream) const =0
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IDecisionSvc::isEventAccepted
virtual bool isEventAccepted(const std::string &stream, const EventContext &) const =0
IDecisionSvc::DeclareInterfaceID
DeclareInterfaceID(IDecisionSvc, 1, 0)
IDecisionSvc::isEventAccepted
virtual bool isEventAccepted(const std::string &stream) const =0
Test whether this event should be output, of a given stream.
IDecisionSvc::addVetoAlg
virtual StatusCode addVetoAlg(const std::string &name, const std::string &stream)=0