ATLAS Offline Software
Loading...
Searching...
No Matches
TileTT_Selector.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TILERAWUTILS_TILETT_SELECTOR_H
6#define TILERAWUTILS_TILETT_SELECTOR_H
7
8#include "Identifier/Identifier.h"
9
10class TileRoI_Map;
11
12template <class CONTAINER >
14{
15
16 public:
21
22
25
26// typedef TileRawChannelContainer CONTAINER;
27// typedef TileRawChannelCollection COLLECTION;
28// typedef TileRawChannel OBJECT;
29
30 typedef typename CONTAINER::IDENTIFIABLE COLLECTION;
31 typedef typename CONTAINER::const_iterator COLL_IT;
32 typedef typename COLLECTION::const_iterator OBJ_IT;
33 typedef typename COLLECTION::OBJECT OBJECT;
34 typedef typename COLLECTION::ID COLL_ID;
35 typedef typename std::vector<COLL_ID>::const_iterator COLL_ID_IT;
36
37 // a vector of ROI_ID
38 // typedef TileRoI_ID ROI_ID;
39 typedef Identifier TT_ID;
40 typedef std::vector<TT_ID> VEC_TT_ID;
41 typedef VEC_TT_ID::const_iterator TT_ID_IT;
42
43 typedef std::pair<OBJ_IT,OBJ_IT> ITPAIR;
44 typedef std::vector<ITPAIR> VEC_ITPAIR;
45 typedef typename VEC_ITPAIR::const_iterator ITPAIR_IT;
46
47 // a map of Collection ID and vector
48 // a Collection is associated with a list of TT_ID
49 typedef std::map<const COLLECTION*, VEC_TT_ID> MAP_COLL_ROI ;
50 typedef typename MAP_COLL_ROI::const_iterator MAP_IT ;
51
53 {
54 friend class TileTT_Selector<CONTAINER> ;
55 public:
57
59
61
63
64 const OBJECT* operator * () ;
65
66 bool operator != ( const const_iterator& it ) const ;
67
68 bool operator == ( const const_iterator& it ) const ;
69
70
71 private:
73 const_iterator( const VEC_ITPAIR* v, const ITPAIR_IT& it ) ;
74
79
80 };
81
82 friend class const_iterator;
83
85 const CONTAINER* c=NULL );
86
87 virtual ~TileTT_Selector () {} ;
88
89 void setMap(const TileRoI_Map* map) ;
90 void setContainer(const CONTAINER* c) ;
91 void setRoIs( const VEC_TT_ID& ids) ;
92
95
96 private:
97 void initialize();
98
100 const CONTAINER* m_container;
101
103
104};
105
107
108#endif
TileCal RoI map to offline Identifier.
Definition TileRoI_Map.h:32
const_iterator(const VEC_ITPAIR *v)
const_iterator(const VEC_ITPAIR *v, const ITPAIR_IT &it)
bool operator!=(const const_iterator &it) const
bool operator==(const const_iterator &it) const
const_iterator & operator=(const const_iterator &it)
const_iterator & operator++()
const_iterator end() const
const_iterator begin() const
std::vector< TT_ID > VEC_TT_ID
const TileRoI_Map * m_roiMap
virtual ~TileTT_Selector()
const CONTAINER * m_container
std::vector< COLL_ID >::const_iterator COLL_ID_IT
std::vector< ITPAIR > VEC_ITPAIR
CONTAINER::IDENTIFIABLE COLLECTION
Constructors.
MAP_COLL_ROI::const_iterator MAP_IT
VEC_ITPAIR::const_iterator ITPAIR_IT
std::map< const COLLECTION *, VEC_TT_ID > MAP_COLL_ROI
std::pair< OBJ_IT, OBJ_IT > ITPAIR
COLLECTION::const_iterator OBJ_IT
void setMap(const TileRoI_Map *map)
COLLECTION::OBJECT OBJECT
COLLECTION::ID COLL_ID
TileTT_Selector(const TileRoI_Map *map=0, const CONTAINER *c=NULL)
VEC_TT_ID::const_iterator TT_ID_IT
CONTAINER::const_iterator COLL_IT
void setRoIs(const VEC_TT_ID &ids)
VEC_ITPAIR m_vecItPair
void setContainer(const CONTAINER *c)
STL class.