ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileEvent
TileEvent
TileMutableDataContainer.h
Go to the documentation of this file.
1
// This file's extension implies that it's C, but it's really -*- C++ -*-.
2
/*
3
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4
*/
13
14
15
#ifndef TILEEVENT_TILEMUTABLEDATACONTAINER_H
16
#define TILEEVENT_TILEMUTABLEDATACONTAINER_H
17
18
19
#include "
TileIdentifier/TileFragHash.h
"
20
#include "
TileIdentifier/TileRawChannelUnit.h
"
21
#include "
Identifier/IdentifierHash.h
"
22
#include "
AthContainers/DataVector.h
"
23
#include "
SGCore/ILockable.h
"
24
#include "GaudiKernel/StatusCode.h"
25
#include <vector>
26
#include <memory>
27
28
47
template
<
class
BASE_T>
48
class
TileMutableDataContainer
49
:
public
BASE_T,
public
ILockable
50
{
51
public
:
52
typedef
BASE_T
BASE
;
53
typedef
typename
BASE::TYPE
TYPE
;
54
typedef
typename
BASE::UNIT
UNIT
;
55
typedef
typename
BASE::IDENTIFIABLE
Collection
;
56
typedef
typename
BASE::TElement
Element
;
57
58
68
TileMutableDataContainer
(
bool
createColl =
false
,
69
TYPE
type
=
TileFragHash::Default
,
70
UNIT
unit
=
TileRawChannelUnit::ADCcounts
,
71
SG::OwnershipPolicy
ownPolicy =
SG::OWN_ELEMENTS
);
72
73
81
TileMutableDataContainer
(
const
BASE
& other);
82
83
84
TileMutableDataContainer
(
const
TileMutableDataContainer
&) =
delete
;
85
TileMutableDataContainer
&
operator=
(
const
TileMutableDataContainer
&) =
delete
;
86
87
95
StatusCode
addCollection
(std::unique_ptr<Collection> coll,
96
IdentifierHash
hash);
97
98
99
// Const version is inherited.
100
using
BASE::addCollection
;
101
102
111
StatusCode
push_back
(std::unique_ptr<Element> rch);
112
113
122
StatusCode
push_back
(
Element
* rch);
123
124
129
//coverity[BAD_OVERRIDE]
130
Collection
*
indexFindPtr
(
IdentifierHash
hash);
131
132
133
// Const version is inherited.
134
using
BASE::indexFindPtr
;
135
136
140
StatusCode
status
()
const
;
141
142
149
virtual
void
lock
()
override
;
150
151
152
protected
:
160
void
recycle
();
161
162
163
private
:
165
std::vector<Collection*>
m_mutableCollections
;
166
168
bool
m_locked
;
169
171
StatusCode
m_sc
;
172
174
TYPE
m_defaultType
;
175
177
UNIT
m_defaultUnit
;
178
};
179
180
181
#include "
TileEvent/TileMutableDataContainer.icc
"
182
183
184
#endif
// not TILEEVENT_TILEMUTABLEDATACONTAINER_H
unit
const PlainObject unit() const
This is a plugin that makes Eigen look like CLHEP & defines some convenience methods.
Definition
AmgMatrixBasePlugin.h:21
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
ILockable.h
IdentifierHash.h
TileFragHash.h
TileMutableDataContainer.icc
TileRawChannelUnit.h
EventContainers::IdentifiableContainerBase::indexFindPtr
const void * indexFindPtr(IdentifierHash hashId) const
Definition
IdentifiableContainerBase.h:38
IdentifiableContainerMT::addCollection
virtual StatusCode addCollection(const T *coll, IdentifierHash hashId) override final
insert collection into container with id hash if IDC should not take ownership of collection,...
Definition
IdentifiableContainerMT.h:306
IdentifiableContainerMT::IDENTIFIABLE
T IDENTIFIABLE
Definition
IdentifiableContainerMT.h:69
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
TileFragHash::Default
@ Default
Definition
TileFragHash.h:33
TileMutableDataContainer< TileBeamElemContainer >::m_defaultType
TYPE m_defaultType
Definition
TileMutableDataContainer.h:174
TileMutableDataContainer::operator=
TileMutableDataContainer & operator=(const TileMutableDataContainer &)=delete
TileMutableDataContainer::TileMutableDataContainer
TileMutableDataContainer(const TileMutableDataContainer &)=delete
TileMutableDataContainer::TileMutableDataContainer
TileMutableDataContainer(const BASE &other)
Copy constructor.
TileMutableDataContainer< TileBeamElemContainer >::UNIT
BASE::UNIT UNIT
Definition
TileMutableDataContainer.h:54
TileMutableDataContainer::addCollection
StatusCode addCollection(std::unique_ptr< Collection > coll, IdentifierHash hash)
Add a collection to the container.
TileMutableDataContainer::push_back
StatusCode push_back(std::unique_ptr< Element > rch)
Add a new channel.
TileMutableDataContainer< TileBeamElemContainer >::m_locked
bool m_locked
Definition
TileMutableDataContainer.h:168
TileMutableDataContainer< TileBeamElemContainer >::m_mutableCollections
std::vector< Collection * > m_mutableCollections
Definition
TileMutableDataContainer.h:165
TileMutableDataContainer::status
StatusCode status() const
Return the error status from the constructors.
TileMutableDataContainer< TileBeamElemContainer >::m_sc
StatusCode m_sc
Definition
TileMutableDataContainer.h:171
TileMutableDataContainer::lock
virtual void lock() override
Lock this object.
TileMutableDataContainer< TileBeamElemContainer >::Element
BASE::TElement Element
Definition
TileMutableDataContainer.h:56
TileMutableDataContainer::recycle
void recycle()
Recycle this object for use in another event.
TileMutableDataContainer::indexFindPtr
Collection * indexFindPtr(IdentifierHash hash)
Look up a (non-const) collection via hash.
TileMutableDataContainer< TileBeamElemContainer >::TYPE
BASE::TYPE TYPE
Definition
TileMutableDataContainer.h:53
TileMutableDataContainer< TileBeamElemContainer >::m_defaultUnit
UNIT m_defaultUnit
Definition
TileMutableDataContainer.h:177
TileMutableDataContainer::TileMutableDataContainer
TileMutableDataContainer(bool createColl=false, TYPE type=TileFragHash::Default, UNIT unit=TileRawChannelUnit::ADCcounts, SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Constructor.
TileMutableDataContainer::push_back
StatusCode push_back(Element *rch)
Add a new channel.
TileMutableDataContainer< TileBeamElemContainer >::BASE
TileBeamElemContainer BASE
Definition
TileMutableDataContainer.h:52
TileMutableDataContainer< TileBeamElemContainer >::Collection
BASE::IDENTIFIABLE Collection
Definition
TileMutableDataContainer.h:55
TileRawChannelUnit::ADCcounts
@ ADCcounts
Definition
TileRawChannelUnit.h:17
TileRawDataContainer< TileBeamElemCollection >::TYPE
TileFragHash::TYPE TYPE
Definition
TileRawDataContainer.h:42
TileRawDataContainer< TileBeamElemCollection >::UNIT
TileRawChannelUnit::UNIT UNIT
Definition
TileRawDataContainer.h:43
TileRawDataContainer< TileBeamElemCollection >::TElement
TileBeamElemCollection::TElement TElement
Definition
TileRawDataContainer.h:37
SG::OwnershipPolicy
OwnershipPolicy
Definition
OwnershipPolicy.h:16
SG::OWN_ELEMENTS
@ OWN_ELEMENTS
this data object owns its elements
Definition
OwnershipPolicy.h:17
type
Generated on
for ATLAS Offline Software by
1.17.0