ATLAS Offline Software
Loading...
Searching...
No Matches
IDecisionSvc.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2026 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#include "GaudiKernel/INamedInterface.h"
22
23// STL includes
24#include <vector>
25#include <string>
26
27// fwd declares
28class INamedInterface;
29class EventContext;
30
31
33 : virtual public ::INamedInterface
34{
35
36public:
38 virtual ~IDecisionSvc();
39
41 // Non-const methods:
43
44public:
45
46 // Add Stream
47 virtual StatusCode addStream(const std::string& stream) = 0;
48 // Add methods of Accept/Require/Veto algorithms for a given stream
49 virtual StatusCode addAcceptAlg(const std::string& name,
50 const std::string& stream) = 0;
51 virtual StatusCode addRequireAlg(const std::string& name,
52 const std::string& stream) = 0;
53 virtual StatusCode addVetoAlg(const std::string& name,
54 const std::string& stream) = 0;
55
57 // Const methods:
59
60 // Get methods of Accept/Require/Veto algorithms for a given stream
61 virtual
62 const std::vector<std::string> getAcceptAlgs(const std::string& stream) const = 0;
63
64 virtual
65 const std::vector<std::string> getRequireAlgs(const std::string& stream) const = 0;
66
67 virtual
68 const std::vector<std::string> getVetoAlgs(const std::string& stream) const = 0;
69
70 // Get list of streams
71 virtual const std::vector<std::string> getStreams() const = 0;
72
74 virtual bool isEventAccepted(const std::string& stream) const = 0;
75 virtual bool isEventAccepted(const std::string& stream, const EventContext&) const = 0;
76};
77
78#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