ATLAS Offline Software
Loading...
Searching...
No Matches
CTPUnpackingToolBase.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HLTSEEDING_CTPUNPACKINGTOOLBASE_H
6#define HLTSEEDING_CTPUNPACKINGTOOLBASE_H
7
9
13
14
15namespace ROIB {
16 class RoIBResult;
17}
18
24class CTPUnpackingToolBase : public extends<AthAlgTool, ICTPUnpackingTool> {
25public:
26
27 CTPUnpackingToolBase(const std::string& type,
28 const std::string& name,
29 const IInterface* parent);
30
31 virtual StatusCode decode(const EventContext& ctx,
32 const ROIB::RoIBResult& /*roib*/,
33 HLT::IDVec& /*enabledChains*/) const override;
34
35 virtual StatusCode initialize() override;
36
37 virtual StatusCode passBeforePrescaleSelection(const ROIB::RoIBResult* /*roib*/,
38 const std::vector<std::string>& /*l1ItemNames*/, bool& /*pass*/) const override;
39
40 // Derived class may override this to return true if its decode() method doesn't depend on RoIBResult
41 virtual bool isEmulated() const override {return false;}
42
43protected:
44
45 static constexpr int s_CTPIDForUnseededChains = -1;
46 std::unordered_map<int, HLT::IDVec> m_ctpToChain;
47
48 Gaudi::Property<bool> m_forceEnable{
49 this, "ForceEnableAllChains", false, "Enables all chains in each event, testing mode"};
50
51 ToolHandle<GenericMonitoringTool> m_monTool{this, "MonTool", "", "Monitoring tool"};
52};
53
54#endif
CTPUnpackingToolBase(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode decode(const EventContext &ctx, const ROIB::RoIBResult &, HLT::IDVec &) const override
ToolHandle< GenericMonitoringTool > m_monTool
virtual bool isEmulated() const override
virtual StatusCode passBeforePrescaleSelection(const ROIB::RoIBResult *, const std::vector< std::string > &, bool &) const override
std::unordered_map< int, HLT::IDVec > m_ctpToChain
virtual StatusCode initialize() override
static constexpr int s_CTPIDForUnseededChains
Gaudi::Property< bool > m_forceEnable
Class holding the LVL1 RoIB result build by the RoIBuilder.
Definition RoIBResult.h:47
std::vector< HLT::Identifier > IDVec
Namespace of the LVL1 RoIB simulation.