ATLAS Offline Software
Loading...
Searching...
No Matches
IDecisionSvc.h
Go to the documentation of this file.
1
2
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
20
21// STL includes
22#include <vector>
23#include <string>
24
25// fwd declares
26class INamedInterface;
27class EventContext;
28
29
31 : virtual public ::INamedInterface
32{
33
34public:
36 virtual ~IDecisionSvc();
37
39 // Non-const methods:
41
42public:
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
This class defines a protocol to register boolean decisions and.
virtual const std::vector< std::string > getRequireAlgs(const std::string &stream) const =0
virtual const std::vector< std::string > getStreams() const =0
virtual ~IDecisionSvc()
DeclareInterfaceID(IDecisionSvc, 1, 0)
virtual StatusCode addRequireAlg(const std::string &name, const std::string &stream)=0
virtual StatusCode addAcceptAlg(const std::string &name, const std::string &stream)=0
virtual StatusCode addStream(const std::string &stream)=0
virtual bool isEventAccepted(const std::string &stream) const =0
Test whether this event should be output, of a given stream.
virtual const std::vector< std::string > getVetoAlgs(const std::string &stream) const =0
virtual bool isEventAccepted(const std::string &stream, const EventContext &) const =0
virtual StatusCode addVetoAlg(const std::string &name, const std::string &stream)=0
virtual const std::vector< std::string > getAcceptAlgs(const std::string &stream) const =0