ATLAS Offline Software
Loading...
Searching...
No Matches
MuCTPIPhase1ByteStreamAlgo.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
5*/
6
7#ifndef TRIGT1RESULTBYTESTREAM_MUCTPIPHASE1BYTESTREAMALGO_H
8#define TRIGT1RESULTBYTESTREAM_MUCTPIPHASE1BYTESTREAMALGO_H
9
11
13
16
19#include "TrigConfData/L1Menu.h"
23
24// Local include(s):
25#include "MuCTPISrcIdMap.h"
26
28// Forward declaration(s):
29//class MuCTPI_Phase1_RDO;
30
35
36public:
38 MuCTPIPhase1ByteStreamAlgo( const std::string& name, ISvcLocator* svcLoc );
39
40 virtual StatusCode initialize() override;
41 virtual StatusCode execute(const EventContext& eventContext) const override;
42 virtual StatusCode finalize() override;
43
45 StatusCode convert( const IROBDataProviderSvc::ROBF* rob, SG::WriteHandle<MuCTPI_Phase1_RDO>& outputHandle ) const;
46
47
48
49private:
51 Gaudi::Property<uint32_t> m_robId{this, "ROBID", 0x760000, "MuCTPI DAQ readout ROB ID"};
52
54 ServiceHandle<IROBDataProviderSvc> m_robDataProviderSvc { this, "ROBDataProviderSvc", "ROBDataProviderSvc", "ROB data provider"};
55
56 SG::WriteHandleKey<MuCTPI_Phase1_RDO> m_MuCTPI_Phase1_RDOKey{ this, "MuCTPI_Phase1_RDOKey", "MUCTPI_Phase1_RDO" };
57
58 std::vector<uint32_t> m_muctpi_Nbits = {3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1}; //default value, used for DQ mon
59 Gaudi::Property<std::string> m_alias_db{this,"TriggerDBAlias","TRIGGERDB_RUN3","Alias to the TriggerDB to download CTP configuration from"};
60
62 Gaudi::Property<bool> m_doTopo {
63 this, "DoTopo", false, "Enable decoding/encoding MUCTPI Topo TOBs"};
64
65 const std::string m_barrelRoIFile = "TrigConfMuctpi/Data_ROI_Mapping_Barrel_040422.txt";
66 const std::string m_ecfRoIFile = "TrigConfMuctpi/Data_RoI_Mapping_EF_040422.txt";
67 const std::string m_side0LUTFile = "TrigConfMuctpi/lookup_0_040422.json";
68 const std::string m_side1LUTFile = "TrigConfMuctpi/lookup_1_040422.json";
69
72}; // class MuCTPIPhase1ByteStreamAlgo
73
74#endif // TRIGT1RESULTBYTESTREAM_MUCTPIPHASE1BYTESTREAMALGO_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Loader class for Trigger configuration (L1 hardware files) from the Trigger DB.
An algorithm that can be simultaneously executed in multiple threads.
OFFLINE_FRAGMENTS_NAMESPACE::ROBFragment ROBF
virtual StatusCode initialize() override
std::vector< uint32_t > m_muctpi_Nbits
StatusCode convert(const IROBDataProviderSvc::ROBF *rob, SG::WriteHandle< MuCTPI_Phase1_RDO > &outputHandle) const
Convert ROBFragment to MuCTPI_RDO.
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
ROBDataProvider service handle.
Gaudi::Property< std::string > m_alias_db
SG::WriteHandleKey< MuCTPI_Phase1_RDO > m_MuCTPI_Phase1_RDOKey
virtual StatusCode execute(const EventContext &eventContext) const override
Gaudi::Property< bool > m_doTopo
Other properties.
LVL1MUCTPIPHASE1::L1TopoLUT m_l1topoLUT
Helper members.
Gaudi::Property< uint32_t > m_robId
Object storing the various IDs of the MuCTPI fragment.
MuCTPIPhase1ByteStreamAlgo(const std::string &name, ISvcLocator *svcLoc)
Default constructor.
virtual StatusCode finalize() override
Property holding a SG store/key/clid from which a WriteHandle is made.