ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
L1CaloFEX
L1CaloFEXSim
L1CaloFEXSim
jTowerContainer.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// Stolen shamelessly from CaloCellContainer.h and modified as required
6
7
#ifndef JTOWERCONTAINER_H
8
#define JTOWERCONTAINER_H
9
18
19
#include "
AthContainers/DataVector.h
"
20
#include "
AthenaKernel/CLASS_DEF.h
"
21
#include "
L1CaloFEXSim/jTower.h
"
22
#include "GaudiKernel/MsgStream.h"
23
24
#include <vector>
25
#include <unordered_map>
26
27
28
namespace
LVL1
{
29
30
class
jTowerContainer
:
public
DataVector
<LVL1::jTower>
31
{
32
33
public
:
34
35
37
typedef
std::vector<const LVL1::jTower>
jTowerVector
;
38
40
typedef
std::vector<LVL1::jTower>
MutablejTowerVector
;
41
43
jTowerContainer
(
SG::OwnershipPolicy
ownPolicy
=
SG::OWN_ELEMENTS
) ;
44
//jTowerContainer() ;
45
47
jTowerContainer
(
size_t
n,
SG::OwnershipPolicy
ownPolicy
=
SG::OWN_ELEMENTS
);
48
50
virtual
~jTowerContainer
() { };
51
53
void
push_back
(
float
eta
,
float
phi
,
int
towerid,
int
posneg,
float
centre_et = 0.0,
float
centre_phi = 0.0,
int
fcal_layer = -1);
54
56
bool
fillContainerMap
();
57
59
void
print
()
const
;
60
62
const
LVL1::jTower
*
findTower
(
int
towerID)
const
;
63
65
LVL1::jTower
*
findTower
(
int
towerID);
66
68
void
clearContainerMap
();
69
70
private
:
72
IMessageSvc*
msgSvc
()
const
;
73
74
//* @brief Keeps track of the towerID of each jTower associated to each MAP index *.
75
std::unordered_map<int,int>
m_map_towerID_containerIndex
;
76
};
77
78
}
79
CLASS_DEF
(
LVL1::jTowerContainer
, 1141097037 , 1 )
80
SG_BASE
(
LVL1
::
jTowerContainer
,
DataVector
<
LVL1
::jTower> );
81
82
#endif
83
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::jTower >::DataVector
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
DataVector< LVL1::jTower >::ownPolicy
SG::OwnershipPolicy ownPolicy() const
LVL1::jTowerContainer
Definition
jTowerContainer.h:31
LVL1::jTowerContainer::jTowerContainer
jTowerContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Main constructor.
Definition
jTowerContainer.cxx:13
LVL1::jTowerContainer::fillContainerMap
bool fillContainerMap()
utility function to help speed up accessing towers
Definition
jTowerContainer.cxx:59
LVL1::jTowerContainer::print
void print() const
dump (obsolete)
Definition
jTowerContainer.cxx:24
LVL1::jTowerContainer::~jTowerContainer
virtual ~jTowerContainer()
destructor
Definition
jTowerContainer.h:50
LVL1::jTowerContainer::msgSvc
IMessageSvc * msgSvc() const
get message service
LVL1::jTowerContainer::push_back
void push_back(float eta, float phi, int towerid, int posneg, float centre_et=0.0, float centre_phi=0.0, int fcal_layer=-1)
reimplementation of const push_back
Definition
jTowerContainer.cxx:19
LVL1::jTowerContainer::clearContainerMap
void clearContainerMap()
clear map
Definition
jTowerContainer.cxx:54
LVL1::jTowerContainer::MutablejTowerVector
std::vector< LVL1::jTower > MutablejTowerVector
Return from non-const findTowerVector.
Definition
jTowerContainer.h:40
LVL1::jTowerContainer::jTowerVector
std::vector< const LVL1::jTower > jTowerVector
type to be used for the internal lookup table, and to return list of towers
Definition
jTowerContainer.h:37
LVL1::jTowerContainer::findTower
const LVL1::jTower * findTower(int towerID) const
fast find method given identifier.
Definition
jTowerContainer.cxx:29
LVL1::jTowerContainer::m_map_towerID_containerIndex
std::unordered_map< int, int > m_map_towerID_containerIndex
Definition
jTowerContainer.h:75
LVL1::jTowerContainer::jTowerContainer
jTowerContainer(size_t n, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Sized constructor.
LVL1::jTower
The jTower class is an interface object for jFEX trigger algorithms The purposes are twofold:
Definition
jTower.h:36
jTowerContainer
Container class for jTower.
jTower.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