ATLAS Offline Software
Loading...
Searching...
No Matches
CPMSim.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 /***************************************************************************
6 CPMSim.h - description
7 -------------------
8 begin : Wed Mar 05 2014
9 email : Alan.Watson@CERN.CH
10 ***************************************************************************/
11
12 /***************************************************************************
13 * *
14 * *
15 ***************************************************************************/
16 #ifndef TRIGT1CALOSIM_CPMSIM_H
17 #define TRIGT1CALOSIM_CPMSIM_H
18
19
20
21 // Athena/Gaudi
23 #include "GaudiKernel/ServiceHandle.h"
24 #include "GaudiKernel/ToolHandle.h"
25
28 #include "GaudiKernel/DataSvc.h"
32
34
35 // LVL1 Calo Trigger
37 #include "TrigConfData/L1Menu.h"
38
39 // For RoI output
42
45 // STL
46 #include <string>
47 #include <memory>
48
49 namespace LVL1 {
50
51 //using namespace TrigConf;
52
53 class CPMTower;
54 class CPMTobRoI;
55 class CPMCMXData;
56
57 //Doxygen Class definition below:
62 {
63
64 public:
65
66 //-------------------------
67 // Constructors/Destructors
68 //
69 // Athena requires that the constructor takes certain arguments
70 // (and passes them directly to the constructor of the base class)
71 //-------------------------
72
73 CPMSim( const std::string& name, ISvcLocator* pSvcLocator ) ;
74
75 //------------------------------------------------------
76 // Methods used by Athena to run the algorithm
77 //------------------------------------------------------
78
79 virtual StatusCode initialize() override;
80 virtual StatusCode execute(const EventContext& ctx) const override;
81
82 private: // Private methods
83#if 0
85 StatusCode storeSlinkObjects (const DataVector<CPMTobRoI>& allTOBs,
86 const EventContext& ctx) const;
87
89 void addHeader (DataVector<LVL1CTP::SlinkWord>& slink,
90 unsigned int subDetID,
91 unsigned int moduleId,
92 const EventContext& ctx) const;
94 void addTail (DataVector<LVL1CTP::SlinkWord>& slink,
95 unsigned int numberOfDataWords) const;
97 std::unique_ptr<LVL1CTP::SlinkWord> getWord(unsigned int tword) const;
98#endif
99
100
101 private: // Private attributes
102
103 SG::ReadHandleKey<TrigConf::L1Menu> m_L1MenuKey{ this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu", "L1 Menu" };
104
108
113
115 ToolHandle<LVL1::IL1CPMTools> m_CPMTool;
116};
117
118 } // end of namespace bracket
119
120
121 #endif
An STL vector of pointers that by default owns its pointed-to elements.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Derived DataVector<T>.
Definition DataVector.h:795
The CPMCMXData object contains the data transferred from the CPM to one of the CMXes (EM or Tau) in t...
Definition CPMCMXData.h:25
SG::WriteHandleKey< DataVector< CPMCMXData > > m_CPMCMXDataLocation
Definition CPMSim.h:112
virtual StatusCode initialize() override
Definition CPMSim.cxx:57
virtual StatusCode execute(const EventContext &ctx) const override
Definition CPMSim.cxx:75
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
Definition CPMSim.h:103
ToolHandle< LVL1::IL1CPMTools > m_CPMTool
The essentials - data access, configuration, tools.
Definition CPMSim.h:115
CPMSim(const std::string &name, ISvcLocator *pSvcLocator)
Definition CPMSim.cxx:46
SG::WriteHandleKey< DataVector< CPMTobRoI > > m_CPMTobRoILocation
Locations of outputs in StoreGate.
Definition CPMSim.h:110
SG::ReadHandleKey< xAOD::CPMTowerContainer > m_CPMTowerLocation
Where to store the CPMTowers.
Definition CPMSim.h:107
The CPMTower class contains the TriggerTower information received by the Cluster Processor Modules.
static const std::string CPMTobRoILocation
static const std::string CPMCMXDataLocation
static const std::string CPMTowerLocation
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...