ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
Jet
JetEvent
JetEvent
JetMapBase.h
Go to the documentation of this file.
1
// -*- C++ -*-
2
3
/*
4
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
#ifndef JETEVENT_JETMAPBASE_H
8
#define JETEVENT_JETMAPBASE_H
9
10
#include "
AthContainers/OwnershipPolicy.h
"
11
#include <vector>
12
#include <map>
13
#include <memory>
14
15
template
<
class
P>
16
class
JetMapBase
17
{
18
public
:
19
21
typedef
P
data_t
;
23
typedef
std::vector<data_t>
record_t
;
24
34
class
record_ptr_t
{
35
public
:
36
record_ptr_t
(
record_t
*
r
=NULL) :
m_ptr
(
r
) {};
37
bool
isValid
()
const
{
return
m_ptr
!=NULL;}
38
const
record_t
&
operator*
()
const
{
return
*
m_ptr
;}
39
const
record_t
*
operator->
()
const
{
return
m_ptr
;}
40
const
record_t
*
get
()
const
{
return
m_ptr
;}
41
record_t
&
operator*
() {
return
*
m_ptr
;}
42
record_t
*
operator->
() {
return
m_ptr
;}
43
record_t
*
get
() {
return
m_ptr
;}
44
void
destroy
() {
if
(
isValid
())
delete
m_ptr
;
m_ptr
=NULL;}
45
void
set
(
record_t
*
r
){
m_ptr
=
r
;}
46
protected
:
47
record_t
*
m_ptr
;
48
};
49
50
typedef
size_t
key_t
;
52
typedef
std::map<key_t, record_ptr_t>
map_t
;
53
54
56
JetMapBase
();
58
JetMapBase
(
const
JetMapBase
&
base
) =
delete
;
59
JetMapBase
&
operator=
(
const
JetMapBase
&
base
) =
delete
;
61
virtual
~JetMapBase
();
62
72
virtual
bool
addRecord
(
size_t
jetIndex)
const
;
73
78
virtual
const
record_t
*
getRecord
(
size_t
jetIndex)
const
;
79
88
virtual
void
assignRecord
(
size_t
jetIndex,
record_t
* rec)
const
;
89
101
virtual
void
addData
(
size_t
jetIndex,
size_t
keyIndex,
const
data_t
& data)
102
const
;
117
virtual
bool
retrieveData
(
size_t
jetIndex,
size_t
keyIndex,
data_t
& data)
118
const
;
119
120
virtual
const
data_t
&
accessData
(
size_t
jetIndex,
size_t
keyIndex)
const
;
121
122
virtual
size_t
numberOfMoments
(
size_t
jetIndex)
const
;
123
124
virtual
void
clear
();
125
virtual
void
clear
(
SG::OwnershipPolicy
){
clear
();}
126
127
SG::OwnershipPolicy
ownPolicy
(){
return
m_ownPolicy
;};
128
129
protected
:
130
137
virtual
void
removeRecord
(
size_t
jetIndex)
const
;
138
146
virtual
void
transferRecord
(
const
JetMapBase<P>
*fromMap,
size_t
oldIndex,
size_t
newIndex )
const
;
147
148
friend
class
Jet
;
149
template
<
class
T>
150
friend
class
JetMomentMapConverterBase
;
151
152
map_t
&
map
();
153
const
map_t
&
map
()
const
;
154
155
156
#if !defined(__REFLEX__) && !defined(__CLING__)
157
// /*! @brief Store last valid record index */
158
// mutable size_t m_lastIndex; not used so remove it for simplicity
160
mutable
map_t
m_store
;
162
static
const
data_t
m_nullData
;
163
#endif
164
165
166
SG::OwnershipPolicy
m_ownPolicy
;
167
};
168
169
class
OrphanJetCounter
{
170
public
:
171
size_t
getNewId
() {
m_counter
++;
return
m_counter
;};
172
173
protected
:
174
void
reset
(){
m_counter
=0;}
175
176
size_t
m_counter
{};
177
178
179
};
180
187
188
#if !defined(__REFLEX__) && !defined(__CLING__)
189
#include "
JetEvent/JetMapBase.icc
"
190
#endif
191
192
#endif
JetMapBase.icc
P
static Double_t P(Double_t *tt, Double_t *par)
Definition
LArPhysWaveHECTool.cxx:280
OwnershipPolicy.h
JetMapBase::record_ptr_t::operator->
record_t * operator->()
Definition
JetMapBase.h:42
JetMapBase::record_ptr_t::operator*
record_t & operator*()
Definition
JetMapBase.h:41
JetMapBase::record_ptr_t::get
record_t * get()
Definition
JetMapBase.h:43
JetMapBase::record_ptr_t::operator*
const record_t & operator*() const
Definition
JetMapBase.h:38
JetMapBase::record_ptr_t::record_ptr_t
record_ptr_t(record_t *r=NULL)
Definition
JetMapBase.h:36
JetMapBase::record_ptr_t::isValid
bool isValid() const
Definition
JetMapBase.h:37
JetMapBase::record_ptr_t::destroy
void destroy()
Definition
JetMapBase.h:44
JetMapBase::record_ptr_t::operator->
const record_t * operator->() const
Definition
JetMapBase.h:39
JetMapBase::record_ptr_t::m_ptr
record_t * m_ptr
Definition
JetMapBase.h:47
JetMapBase::record_ptr_t::set
void set(record_t *r)
Definition
JetMapBase.h:45
JetMapBase::record_ptr_t::get
const record_t * get() const
Definition
JetMapBase.h:40
JetMapBase::~JetMapBase
virtual ~JetMapBase()
destructor
JetMapBase::clear
virtual void clear()
JetMapBase::ownPolicy
SG::OwnershipPolicy ownPolicy()
Definition
JetMapBase.h:127
JetMapBase::addRecord
virtual bool addRecord(size_t jetIndex) const
Add a record.
JetMapBase::map_t
std::map< key_t, record_ptr_t > map_t
publish store type
Definition
JetMapBase.h:52
JetMapBase::data_t
P data_t
Publish payload data type.
Definition
JetMapBase.h:21
JetMapBase::numberOfMoments
virtual size_t numberOfMoments(size_t jetIndex) const
JetMapBase::clear
virtual void clear(SG::OwnershipPolicy)
Definition
JetMapBase.h:125
JetMapBase< data_t >::m_store
map_t m_store
Definition
JetMapBase.h:160
JetMapBase::accessData
virtual const data_t & accessData(size_t jetIndex, size_t keyIndex) const
JetMapBase< data_t >::Jet
friend class Jet
Definition
JetMapBase.h:148
JetMapBase::assignRecord
virtual void assignRecord(size_t jetIndex, record_t *rec) const
assign a given record to a given jet
JetMapBase::removeRecord
virtual void removeRecord(size_t jetIndex) const
remove a record
JetMapBase::record_t
std::vector< data_t > record_t
Publish record type.
Definition
JetMapBase.h:23
JetMapBase< data_t >::m_ownPolicy
SG::OwnershipPolicy m_ownPolicy
Definition
JetMapBase.h:166
JetMapBase< data_t >::JetMomentMapConverterBase
friend class JetMomentMapConverterBase
Definition
JetMapBase.h:150
JetMapBase< data_t >::m_nullData
static const data_t m_nullData
Definition
JetMapBase.h:162
JetMapBase::transferRecord
virtual void transferRecord(const JetMapBase< P > *fromMap, size_t oldIndex, size_t newIndex) const
transfer a record from an other map
JetMapBase::retrieveData
virtual bool retrieveData(size_t jetIndex, size_t keyIndex, data_t &data) const
Retrieve data.
JetMapBase::JetMapBase
JetMapBase()
Constructor.
JetMapBase::key_t
size_t key_t
Publish key type.
Definition
JetMapBase.h:50
JetMapBase::addData
virtual void addData(size_t jetIndex, size_t keyIndex, const data_t &data) const
Add data.
JetMapBase::map
const map_t & map() const
JetMapBase::operator=
JetMapBase & operator=(const JetMapBase &base)=delete
JetMapBase::getRecord
virtual const record_t * getRecord(size_t jetIndex) const
get the full record for a given jet
JetMapBase::map
map_t & map()
JetMapBase::JetMapBase
JetMapBase(const JetMapBase &base)=delete
No copy ctor, assignment.
OrphanJetCounter
Definition
JetMapBase.h:169
OrphanJetCounter::getNewId
size_t getNewId()
Definition
JetMapBase.h:171
OrphanJetCounter::reset
void reset()
Definition
JetMapBase.h:174
OrphanJetCounter::m_counter
size_t m_counter
Definition
JetMapBase.h:176
r
int r
Definition
globals.cxx:22
base
std::string base
Definition
hcg.cxx:83
SG::OwnershipPolicy
OwnershipPolicy
Definition
OwnershipPolicy.h:16
Generated on
for ATLAS Offline Software by
1.17.0