4#ifndef ATHENASERVICES_DECISIONSVC_H
5#define ATHENASERVICES_DECISIONSVC_H
13#include "GaudiKernel/ISvcLocator.h"
14#include "GaudiKernel/IAlgExecStateSvc.h"
36 DecisionSvc(
const std::string& name, ISvcLocator* pSvcLocator );
45 virtual StatusCode
finalize()
override;
55 virtual StatusCode
addStream(
const std::string& stream)
override;
57 virtual StatusCode
addAcceptAlg(
const std::string& name,
const std::string& stream)
override;
59 virtual StatusCode
addRequireAlg(
const std::string& name,
const std::string& stream)
override;
61 virtual StatusCode
addVetoAlg(
const std::string& name,
const std::string& stream)
override;
65 virtual const std::vector<std::string>
getAcceptAlgs(
const std::string& stream)
const override;
67 virtual const std::vector<std::string>
getRequireAlgs(
const std::string& stream)
const override;
69 virtual const std::vector<std::string>
getVetoAlgs(
const std::string& stream)
const override;
71 virtual const std::vector<std::string>
getStreams()
const override;
83 virtual bool isEventAccepted(
const std::string& stream )
const override;
84 virtual bool isEventAccepted(
const std::string& stream,
const EventContext& )
const override;
102 StatusCode
fillMap(std::map<std::string, std::vector<std::string> >& streamsModeMap,
103 const std::string& name,
104 const std::string& stream);
Define macros for attributes used to control the static checker.
std::map< std::string, std::vector< std::string > > m_stream_accept
Maps of streams – algorithm names' vectors.
virtual StatusCode finalize() override
virtual StatusCode addRequireAlg(const std::string &name, const std::string &stream) override
Add an algorithm to the list of RequireAlgs of a stream.
virtual const std::vector< std::string > getAcceptAlgs(const std::string &stream) const override
Return list of AcceptAlg names.
virtual ~DecisionSvc()
Destructor.
ServiceHandle< StoreGateSvc > m_evtStore
ServiceHandle< ICutFlowSvc > m_cutflowSvc
StatusCode DeclareToCutFlowSvc ATLAS_NOT_THREAD_SAFE()
std::vector< std::string > m_streamNames
virtual StatusCode addAcceptAlg(const std::string &name, const std::string &stream) override
Add an algorithm to the list of AcceptAlgs of a stream.
DecisionSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< bool > m_calcStats
virtual StatusCode addVetoAlg(const std::string &name, const std::string &stream) override
Add an algorithm to the list of VetoAlgs of a stream.
virtual StatusCode initialize() override
Gaudi Service Implementation.
virtual const std::vector< std::string > getVetoAlgs(const std::string &stream) const override
Return list of VetoAlg names.
std::map< std::string, std::vector< std::string > > m_stream_require
std::map< std::string, std::vector< std::string > > m_stream_veto
virtual StatusCode addStream(const std::string &stream) override
Add a stream.
virtual bool isEventAccepted(const std::string &stream) const override
Test whether this event should be output.
virtual const std::vector< std::string > getRequireAlgs(const std::string &stream) const override
Return list of RequireAlg names.
virtual const std::vector< std::string > getStreams() const override
Return list of Streams.
virtual StatusCode start ATLAS_NOT_THREAD_SAFE() override
StatusCode fillMap(std::map< std::string, std::vector< std::string > > &streamsModeMap, const std::string &name, const std::string &stream)
ServiceHandle< IAlgExecStateSvc > m_algstateSvc
StatusCode interpretAlgMap()