ATLAS Offline Software
Loading...
Searching...
No Matches
RoIROD.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 RoIROD.h - description
6 -------------------
7 begin : Mon Jul 28 2014
8 email : Alan.Watson@CERN.CH
9 ***************************************************************************/
10
11
12#ifndef TRIGT1CALOSIM_ROIROD_H
13#define TRIGT1CALOSIM_ROIROD_H
14
15// STL
16#include <string>
17#include <vector>
18
19//Athena
21#include "GaudiKernel/ServiceHandle.h"
25
26// Specifics
29
30// Inputs
34
38namespace LVL1 {
39
40//RoIROD class declaration
49{
54 typedef std::unique_ptr<t_SlinkContainer> t_SlinkPtr;
55
56 public:
57 //-------------------------
58
59 RoIROD( const std::string& name, ISvcLocator* pSvcLocator ) ;
60 virtual ~RoIROD();
61
62
63 //------------------------------------------------------
64 // Methods used by Athena to run the algorithm
65 //------------------------------------------------------
66
67 virtual StatusCode initialize() override;
68 virtual StatusCode execute(const EventContext& ctx) const override;
69 virtual StatusCode finalize() override;
70
71private: // Private methods
73 void addHeader (t_SlinkContainer& slink,
74 unsigned int subDetID,
75 unsigned int moduleId,
76 const EventContext& ctx) const;
78 void addTail (t_SlinkContainer& slink,
79 unsigned int numberOfDataWords) const;
83 const EventContext& ctx) const;
87 const EventContext& ctx) const;
92 std::unique_ptr<LVL1CTP::SlinkWord> getWord(unsigned int tword) const;
93
96
97private: // Private attributes
104
107 { this, "EmTauSlinkKeys", {}, "" };
108
109 std::string m_jepSlinkLocation ;
111 { this, "JEPSlinkKeys", {}, "" };
112};
113
114} // end of namespace bracket
115
116
117#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.
An algorithm that can be simultaneously executed in multiple threads.
Derived DataVector<T>.
Definition DataVector.h:795
std::string m_jepSlinkLocation
Definition RoIROD.h:109
SG::ReadHandleKey< t_EnergyRoIContainer > m_energyRoILocation
Definition RoIROD.h:103
virtual StatusCode initialize() override
Definition RoIROD.cxx:44
DataVector< LVL1CTP::SlinkWord > t_SlinkContainer
Definition RoIROD.h:53
std::unique_ptr< t_SlinkContainer > t_SlinkPtr
Definition RoIROD.h:54
SG::WriteHandleKeyArray< t_SlinkContainer > m_jepSlinkKeys
Definition RoIROD.h:111
SG::WriteHandleKeyArray< t_SlinkContainer > m_emTauSlinkKeys
Definition RoIROD.h:107
RoIROD(const std::string &name, ISvcLocator *pSvcLocator)
Definition RoIROD.cxx:25
SG::ReadHandleKey< t_jemTobRoIContainer > m_JetRoILocation
Definition RoIROD.h:101
virtual StatusCode finalize() override
Definition RoIROD.cxx:70
CMXRoI t_EnergyRoIContainer
Definition RoIROD.h:52
void dumpSlinks(t_SlinkPtr CPRoIROD[TrigT1CaloDefs::numOfCPRoIRODs]) const
prints out the Slink info.
Definition RoIROD.cxx:236
void addTail(t_SlinkContainer &slink, unsigned int numberOfDataWords) const
add Slink tail
Definition RoIROD.cxx:181
SG::ReadHandleKey< t_cpmTobRoIContainer > m_emTauRoILocation
Definition RoIROD.h:99
StatusCode saveSlinkObjects(t_SlinkPtr CPRoIROD[TrigT1CaloDefs::numOfCPRoIRODs], t_SlinkPtr jepRoIROD[TrigT1CaloDefs::numOfJEPRoIRODs], const EventContext &ctx) const
save Slink Objects to SG
Definition RoIROD.cxx:195
void assignVectors(t_SlinkPtr CPRoIROD[TrigT1CaloDefs::numOfCPRoIRODs], t_SlinkPtr jepRoIROD[TrigT1CaloDefs::numOfJEPRoIRODs]) const
Create the object vectors to be stored in SG and clear mult vectors.
Definition RoIROD.cxx:214
virtual StatusCode execute(const EventContext &ctx) const override
Definition RoIROD.cxx:82
std::unique_ptr< LVL1CTP::SlinkWord > getWord(unsigned int tword) const
creates a new SlinkWord object with the passed word, and returns a pointer.
Definition RoIROD.cxx:229
std::string m_emTauSlinkLocation
Definition RoIROD.h:105
void formSlinkObjects(t_SlinkPtr CPRoIROD[TrigT1CaloDefs::numOfCPRoIRODs], t_SlinkPtr jepRoIROD[TrigT1CaloDefs::numOfJEPRoIRODs], const EventContext &ctx) const
get ROIwords and form Slink words from them, adding header and tail.
Definition RoIROD.cxx:101
DataVector< LVL1::CPMTobRoI > t_cpmTobRoIContainer
Definition RoIROD.h:50
virtual ~RoIROD()
Definition RoIROD.cxx:36
void addHeader(t_SlinkContainer &slink, unsigned int subDetID, unsigned int moduleId, const EventContext &ctx) const
adds slink header
Definition RoIROD.cxx:163
DataVector< LVL1::JEMTobRoI > t_jemTobRoIContainer
Definition RoIROD.h:51
static const std::string CPMTobRoILocation
static const unsigned int numOfJEPRoIRODs
static const unsigned int numOfCPRoIRODs
static const std::string JEMTobRoILocation
static const std::string CMXRoILocation
Property holding a SG store/key/clid from which a ReadHandle is made.
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
HandleKeyArray< WriteHandle< T >, WriteHandleKey< T >, Gaudi::DataHandle::Writer > WriteHandleKeyArray