ATLAS Offline Software
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 
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"
34 #include <string>
35 
36 template <typename TELEMENT>
37 class TileContainer: public DataVector<TELEMENT>
38 {
39 public:
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 
59 private:
60 
61 };
62 
63 // typedef TileContainer<TileDeposit> TileDepositContainer;
72 class TileCellVec: public std::vector<unsigned int>
73 {};
74 
75 // CLASS_DEF(TileDepositContainer, 2921, 0)
78 CLASS_DEF(TileL2Container, 2934, 0)
79 // 2935 and 2936 are used by BeamElem
80 CLASS_DEF(TileMuContainer, 2937, 0)
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.
91 namespace SG {
92  template <class T>
93  struct Bases<TileContainer<T> > {
95  };
96 }
97 
99 
100 #endif
101 
TileTriggerContainer
TileContainer< TileTrigger > TileTriggerContainer
Definition: TileContainer.h:69
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
TileContainer.icc
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
TileContainer::whoami
std::string whoami(void) const
Definition: TileContainer.h:56
TileL2Container
TileContainer< TileL2 > TileL2Container
Definition: TileContainer.h:67
TileContainer::add
void add(TELEMENT *rc)
Definition: TileContainer.h:51
TileContainer::my_const_iterator
MyVector::const_iterator my_const_iterator
Definition: TileContainer.h:42
TileCosmicMuonContainer
TileContainer< TileCosmicMuon > TileCosmicMuonContainer
Definition: TileContainer.h:70
SG::OwnershipPolicy
OwnershipPolicy
describes the possible element ownership policies (see e.g. DataVector)
Definition: OwnershipPolicy.h:16
TileContainer::print
virtual void print() const
TileCosmicMuon.h
TileTTL1.h
SG::OWN_ELEMENTS
@ OWN_ELEMENTS
this data object owns its elements
Definition: OwnershipPolicy.h:17
TileCell.h
TileL2.h
SG::Bases
Traits class to hold derivation information.
Definition: Bases.h:110
TileCellVec
Definition: TileContainer.h:73
TileTrigger.h
TileContainer::~TileContainer
virtual ~TileContainer()=default
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TileContainer::TileContainer
TileContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Definition: TileContainer.h:45
TileTTL1Cell.h
DataVector< TELEMENT >::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
TileMuContainer
TileContainer< TileMu > TileMuContainer
Definition: TileContainer.h:68
TileTTL1CellContainer
TileContainer< TileTTL1Cell > TileTTL1CellContainer
Definition: TileContainer.h:66
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:64
TileCellContainer
TileContainer< TileCell > TileCellContainer
Definition: TileContainer.h:64
TileMuonReceiverContainer
TileContainer< TileMuonReceiverObj > TileMuonReceiverContainer
Definition: TileContainer.h:71
DataVector< TELEMENT >::ownPolicy
SG::OwnershipPolicy ownPolicy() const
Return the ownership policy setting for this container.
TileMuonReceiverObj.h
TileTTL1Container
TileContainer< TileTTL1 > TileTTL1Container
Definition: TileContainer.h:65
TileContainer::MyVector
DataVector< TELEMENT > MyVector
Definition: TileContainer.h:41
TileContainer
Definition: TileContainer.h:38
CLASS_DEF.h
macros to associate a CLID to a type
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
SG::BaseList
Represent a list of base classes.
Definition: Bases.h:74
TileMu.h