ATLAS Offline Software
CPMSim.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 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  // STL
20  #include <string>
21  #include <vector>
22 
23  // Athena/Gaudi
25  #include "GaudiKernel/ServiceHandle.h"
26  #include "GaudiKernel/ToolHandle.h"
27 
30  #include "GaudiKernel/DataSvc.h"
31  #include "StoreGate/ReadHandleKey.h"
34 
36 
37  // LVL1 Calo Trigger
39  #include "TrigConfData/L1Menu.h"
40 
41  // For RoI output
44 
47 
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:
61  class CPMSim : public AthReentrantAlgorithm
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
84 
85  StatusCode storeSlinkObjects (const DataVector<CPMTobRoI>& allTOBs,
86  const EventContext& ctx) const;
87 
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 
107  { this, "CPMTowerLocation", TrigT1CaloDefs::CPMTowerLocation, "" };
110  { this, "CPMTobRoILocation", TrigT1CaloDefs::CPMTobRoILocation, "" };
112  { this, "CPMCMXDataLocation", TrigT1CaloDefs::CPMCMXDataLocation, "" };
113 
115  ToolHandle<LVL1::IL1CPMTools> m_CPMTool;
116 };
117 
118  } // end of namespace bracket
119 
120 
121  #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DeMoGenerateWWW.addHeader
def addHeader(page, year)
Definition: DeMoGenerateWWW.py:82
CPMTowerContainer.h
SG::ReadHandleKey< TrigConf::L1Menu >
xAOD::CPMTower
CPMTower_v2 CPMTower
Define the latest version of the CPMTower class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CPMTower.h:16
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
LVL1::CPMSim::CPMSim
CPMSim(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CPMSim.cxx:46
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LVL1::CPMSim::m_CPMTobRoILocation
SG::WriteHandleKey< DataVector< CPMTobRoI > > m_CPMTobRoILocation
Locations of outputs in StoreGate.
Definition: CPMSim.h:118
LVL1::CPMSim::m_CPMCMXDataLocation
SG::WriteHandleKey< DataVector< CPMCMXData > > m_CPMCMXDataLocation
Definition: CPMSim.h:120
LVL1::CPMSim::m_CPMTool
ToolHandle< LVL1::IL1CPMTools > m_CPMTool
The essentials - data access, configuration, tools.
Definition: CPMSim.h:123
LVL1::CPMSim::execute
virtual StatusCode execute(const EventContext &ctx) const override
Definition: CPMSim.cxx:75
SlinkWord.h
CPMTobRoI.h
CPMCMXData.h
LVL1::TrigT1CaloDefs::CPMTowerLocation
static const std::string CPMTowerLocation
Definition: TrigT1CaloDefs.h:38
LVL1::TrigT1CaloDefs::CPMCMXDataLocation
static const std::string CPMCMXDataLocation
Definition: TrigT1CaloDefs.h:42
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TrigConf::name
Definition: HLTChainList.h:35
LVL1::CPMSim::m_L1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
Definition: CPMSim.h:111
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
WriteHandleKeyArray.h
TrigT1CaloDefs.h
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
LVL1::CPMSim::m_CPMTowerLocation
SG::ReadHandleKey< xAOD::CPMTowerContainer > m_CPMTowerLocation
Where to store the CPMTowers.
Definition: CPMSim.h:115
IL1CPMTools.h
TrigT1Interfaces_ClassDEF.h
LVL1::TrigT1CaloDefs::CPMTobRoILocation
static const std::string CPMTobRoILocation
Definition: TrigT1CaloDefs.h:61
LVL1::CPMSim::initialize
virtual StatusCode initialize() override
Definition: CPMSim.cxx:57
L1Menu.h
xAOD::CPMTobRoI
CPMTobRoI_v1 CPMTobRoI
Define the latest version of the CPMTobRoI class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/CPMTobRoI.h:17