ATLAS Offline Software
Loading...
Searching...
No Matches
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
25// #include "TileEvent/TileDeposit.h"
26#include "TileEvent/TileCell.h"
27#include "TileEvent/TileTTL1.h"
29#include "TileEvent/TileMu.h"
30#include "TileEvent/TileL2.h"
34#include <string>
35
36template <typename TELEMENT>
37class TileContainer: public DataVector<TELEMENT>
38{
39public:
40
43
44 // constructor
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
59private:
60
61};
62
63// typedef TileContainer<TileDeposit> TileDepositContainer;
72class TileCellVec: public std::vector<unsigned int>
73{};
74
75// CLASS_DEF(TileDepositContainer, 2921, 0)
79// 2935 and 2936 are used by BeamElem
82// 2940 used by TileLaser Object
85// 2953 used by MBTSCollisionTime Object
87
88// explicitly declared inheritance information about template class
89// TileContainer<> , information may be read in
90// AthenaKernel/BaseInfo.h.
91namespace SG {
92 template <class T>
93 struct Bases<TileContainer<T> > {
95 };
96}
97
99
100#endif
101
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
static Double_t rc
TileContainer< TileMu > TileMuContainer
TileContainer< TileCosmicMuon > TileCosmicMuonContainer
TileContainer< TileMuonReceiverObj > TileMuonReceiverContainer
TileContainer< TileL2 > TileL2Container
TileContainer< TileTTL1Cell > TileTTL1CellContainer
TileContainer< TileTTL1 > TileTTL1Container
TileContainer< TileCell > TileCellContainer
TileContainer< TileTrigger > TileTriggerContainer
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
value_type push_back(value_type pElem)
DataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS, SG::IndexTrackingPolicy trackIndices=SG::DEFAULT_TRACK_INDICES)
SG::OwnershipPolicy ownPolicy() const
virtual ~TileContainer()=default
TileContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
virtual void print() const
std::string whoami(void) const
void add(TELEMENT *rc)
DataVector< TELEMENT > MyVector
MyVector::const_iterator my_const_iterator
Forward declaration.
OwnershipPolicy
@ OWN_ELEMENTS
this data object owns its elements
Represent a list of base classes.
Definition Bases.h:79
BaseList< DataVector< T > > bases
Traits class to hold derivation information.
Definition Bases.h:115