ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXSim
L1CaloFEXSim
eTowerContainer.h
Go to the documentation of this file.
1
2
3
/*
4
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// Stolen shamelessly from CaloCellContainer.h and modified as required
8
9
#ifndef ETOWERCONTAINER_H
10
#define ETOWERCONTAINER_H
11
20
21
#include "
AthContainers/DataVector.h
"
22
#include "
AthenaKernel/CLASS_DEF.h
"
23
#include "
L1CaloFEXSim/eTower.h
"
24
#include "GaudiKernel/MsgStream.h"
25
26
#include <unordered_map>
27
28
namespace
LVL1
{
29
30
class
eTowerContainer
:
public
DataVector
<LVL1::eTower>
31
{
32
33
public
:
34
35
37
typedef
std::vector<const LVL1::eTower>
eTowerVector
;
38
40
typedef
std::vector<LVL1::eTower>
MutableeTowerVector
;
41
43
eTowerContainer
(
SG::OwnershipPolicy
ownPolicy
=
SG::OWN_ELEMENTS
) ;
44
//eTowerContainer() ;
45
47
eTowerContainer
(
size_t
n,
SG::OwnershipPolicy
ownPolicy
=
SG::OWN_ELEMENTS
);
48
50
virtual
~eTowerContainer
() { };
51
53
void
push_back
(
float
eta
,
float
phi
,
float
keybase,
int
posneg);
54
56
bool
fillContainerMap
();
57
59
void
print
()
const
;
60
62
const
LVL1::eTower
*
findTower
(
int
towerID)
const
;
63
65
LVL1::eTower
*
findTower
(
int
towerID);
66
68
void
clearContainerMap
();
69
70
private
:
72
IMessageSvc*
msgSvc
()
const
;
73
74
//* @brief Keeps track of the towerID of each eTower associated to each MAP index *.
75
std::unordered_map<int,int>
m_map_towerID_containerIndex
;
76
};
77
78
}
79
CLASS_DEF
(
LVL1::eTowerContainer
, 1143075806 , 1 )
80
SG_BASE
(
LVL1
::
eTowerContainer
,
DataVector
<
LVL1
::eTower> );
81
82
#endif
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
SG_BASE
#define SG_BASE(D, B)
Declare that class D derives from class B.
Definition
Control/AthenaKernel/AthenaKernel/BaseInfo.h:243
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
DataVector
Derived DataVector<T>.
Definition
DataVector.h:795
DataVector< LVL1::eTower >::DataVector
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
DataVector< LVL1::eTower >::ownPolicy
SG::OwnershipPolicy ownPolicy() const
LVL1::eTowerContainer
Definition
eTowerContainer.h:31
LVL1::eTowerContainer::print
void print() const
dump (obsolete)
Definition
eTowerContainer.cxx:24
LVL1::eTowerContainer::~eTowerContainer
virtual ~eTowerContainer()
destructor
Definition
eTowerContainer.h:50
LVL1::eTowerContainer::eTowerContainer
eTowerContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Main constructor.
Definition
eTowerContainer.cxx:13
LVL1::eTowerContainer::clearContainerMap
void clearContainerMap()
clear map
Definition
eTowerContainer.cxx:49
LVL1::eTowerContainer::msgSvc
IMessageSvc * msgSvc() const
get message service
LVL1::eTowerContainer::m_map_towerID_containerIndex
std::unordered_map< int, int > m_map_towerID_containerIndex
Definition
eTowerContainer.h:75
LVL1::eTowerContainer::MutableeTowerVector
std::vector< LVL1::eTower > MutableeTowerVector
Return from non-const findTowerVector.
Definition
eTowerContainer.h:40
LVL1::eTowerContainer::eTowerVector
std::vector< const LVL1::eTower > eTowerVector
type to be used for the internal lookup table, and to return list of towers
Definition
eTowerContainer.h:37
LVL1::eTowerContainer::fillContainerMap
bool fillContainerMap()
utility function to help speed up accessing towers
Definition
eTowerContainer.cxx:54
LVL1::eTowerContainer::eTowerContainer
eTowerContainer(size_t n, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Sized constructor.
LVL1::eTowerContainer::findTower
const LVL1::eTower * findTower(int towerID) const
fast find method given identifier.
Definition
eTowerContainer.cxx:29
LVL1::eTowerContainer::push_back
void push_back(float eta, float phi, float keybase, int posneg)
reimplementation of const push_back
Definition
eTowerContainer.cxx:19
LVL1::eTower
The eTower class is an interface object for eFEX trigger algorithms The purposes are twofold:
Definition
eTower.h:38
eTowerContainer
Container class for eTower.
eTower.h
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
SG::OwnershipPolicy
OwnershipPolicy
Definition
OwnershipPolicy.h:16
SG::OWN_ELEMENTS
@ OWN_ELEMENTS
this data object owns its elements
Definition
OwnershipPolicy.h:17
Generated on
for ATLAS Offline Software by
1.17.0