ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileEvent
TileEvent
TileContainer.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
//********************************************************************
6
// Filename : TileContainer.h
7
// Author : Zhifang
8
// Created : Sept, 2002
9
//
10
// DESCRIPTION:
11
// Create a general container in the Athena framework.
12
//
13
//
14
// HISTORY:
15
//
16
// BUGS:
17
//
18
// *******************************************************************
19
20
#ifndef TILEEVENT_TILECONTAINER_H
21
#define TILEEVENT_TILECONTAINER_H
22
23
#include "
AthContainers/DataVector.h
"
24
#include "
AthenaKernel/CLASS_DEF.h
"
25
// #include "TileEvent/TileDeposit.h"
26
#include "
TileEvent/TileCell.h
"
27
#include "
TileEvent/TileTTL1.h
"
28
#include "
TileEvent/TileTTL1Cell.h
"
29
#include "
TileEvent/TileMu.h
"
30
#include "
TileEvent/TileL2.h
"
31
#include "
TileEvent/TileTrigger.h
"
32
#include "
TileEvent/TileCosmicMuon.h
"
33
#include "
TileEvent/TileMuonReceiverObj.h
"
34
#include <string>
35
36
template
<
typename
TELEMENT>
37
class
TileContainer
:
public
DataVector
<TELEMENT>
38
{
39
public
:
40
41
typedef
DataVector<TELEMENT>
MyVector
;
42
typedef
typename
MyVector::const_iterator
my_const_iterator
;
43
44
// constructor
45
TileContainer
(
SG::OwnershipPolicy
ownPolicy
=
SG::OWN_ELEMENTS
) :
DataVector
< TELEMENT > (
ownPolicy
) { }
46
47
// destructor
48
virtual
~TileContainer
() =
default
;
49
50
// insert a Tile element into a collection.
51
inline
void
add
(TELEMENT*
rc
) {
MyVector::push_back
(
rc
); }
52
53
// print all the channels
54
virtual
void
print
()
const
;
55
virtual
operator
std::string ()
const
;
56
std::string
whoami
(
void
)
const
{ TELEMENT elem;
57
return
"TileContainer of "
+elem.whoami(); }
58
59
private
:
60
61
};
62
63
// typedef TileContainer<TileDeposit> TileDepositContainer;
64
typedef
TileContainer<TileCell>
TileCellContainer
;
65
typedef
TileContainer<TileTTL1>
TileTTL1Container
;
66
typedef
TileContainer<TileTTL1Cell>
TileTTL1CellContainer
;
67
typedef
TileContainer<TileL2>
TileL2Container
;
68
typedef
TileContainer<TileMu>
TileMuContainer
;
69
typedef
TileContainer<TileTrigger>
TileTriggerContainer
;
70
typedef
TileContainer<TileCosmicMuon>
TileCosmicMuonContainer
;
71
typedef
TileContainer<TileMuonReceiverObj>
TileMuonReceiverContainer
;
72
class
TileCellVec
:
public
std::vector<unsigned int>
73
{};
74
75
// CLASS_DEF(TileDepositContainer, 2921, 0)
76
CLASS_DEF
(
TileCellContainer
, 2931, 0)
77
CLASS_DEF
(
TileTTL1Container
, 2933, 0)
78
CLASS_DEF
(
TileL2Container
, 2934, 0)
79
// 2935 and 2936 are used by BeamElem
80
CLASS_DEF
(
TileMuContainer
, 2937, 0)
81
CLASS_DEF
(
TileTriggerContainer
, 2939, 0)
82
// 2940 used by TileLaser Object
83
CLASS_DEF
(
TileCosmicMuonContainer
, 2951, 0)
84
CLASS_DEF
(
TileTTL1CellContainer
, 2952, 0)
85
// 2953 used by MBTSCollisionTime Object
86
CLASS_DEF
(
TileMuonReceiverContainer
, 2954, 0)
87
88
// explicitly declared inheritance information about template class
89
// TileContainer<> , information may be read in
90
// AthenaKernel/BaseInfo.h.
91
namespace
SG
{
92
template
<
class
T>
93
struct
Bases
<
TileContainer
<T> > {
94
using
bases
=
BaseList<DataVector<T>
>;
95
};
96
}
97
98
#include "
TileEvent/TileContainer.icc
"
99
100
#endif
101
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.
rc
static Double_t rc
Definition
LArPhysWaveHECTool.cxx:37
TileCell.h
TileMuContainer
TileContainer< TileMu > TileMuContainer
Definition
TileContainer.h:68
TileCosmicMuonContainer
TileContainer< TileCosmicMuon > TileCosmicMuonContainer
Definition
TileContainer.h:70
TileMuonReceiverContainer
TileContainer< TileMuonReceiverObj > TileMuonReceiverContainer
Definition
TileContainer.h:71
TileL2Container
TileContainer< TileL2 > TileL2Container
Definition
TileContainer.h:67
TileTTL1CellContainer
TileContainer< TileTTL1Cell > TileTTL1CellContainer
Definition
TileContainer.h:66
TileTTL1Container
TileContainer< TileTTL1 > TileTTL1Container
Definition
TileContainer.h:65
TileCellContainer
TileContainer< TileCell > TileCellContainer
Definition
TileContainer.h:64
TileTriggerContainer
TileContainer< TileTrigger > TileTriggerContainer
Definition
TileContainer.h:69
TileContainer.icc
TileCosmicMuon.h
TileL2.h
TileMu.h
TileMuonReceiverObj.h
TileTTL1Cell.h
TileTTL1.h
TileTrigger.h
DataVector< TELEMENT >::const_iterator
DataModel_detail::const_iterator< DataVector > const_iterator
Definition
DataVector.h:838
DataVector< TELEMENT >::push_back
value_type push_back(value_type pElem)
DataVector< TELEMENT >::DataVector
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
TileContainer< TileCell >::ownPolicy
SG::OwnershipPolicy ownPolicy() const
TileCellVec
Definition
TileContainer.h:73
TileContainer
Definition
TileContainer.h:38
TileContainer::~TileContainer
virtual ~TileContainer()=default
TileContainer::TileContainer
TileContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Definition
TileContainer.h:45
TileContainer::print
virtual void print() const
TileContainer::whoami
std::string whoami(void) const
Definition
TileContainer.h:56
TileContainer::add
void add(TELEMENT *rc)
Definition
TileContainer.h:51
TileContainer::MyVector
DataVector< TELEMENT > MyVector
Definition
TileContainer.h:41
TileContainer::my_const_iterator
MyVector::const_iterator my_const_iterator
Definition
TileContainer.h:42
SG
Forward declaration.
Definition
CaloCellPacker_400_500.h:32
SG::OwnershipPolicy
OwnershipPolicy
Definition
OwnershipPolicy.h:16
SG::OWN_ELEMENTS
@ OWN_ELEMENTS
this data object owns its elements
Definition
OwnershipPolicy.h:17
BaseList
Represent a list of base classes.
Definition
Bases.h:79
Bases
Traits class to hold derivation information.
Definition
Bases.h:115
SG::Bases< TileContainer< T > >::bases
BaseList< DataVector< T > > bases
Definition
TileContainer.h:94
Generated on
for ATLAS Offline Software by
1.17.0