ATLAS Offline Software
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 
10 class TileRoI_Map;
11 
12 template <class CONTAINER >
14 {
15 
16  public:
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 
84  TileTT_Selector ( const TileRoI_Map* map= 0,
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 
93  const_iterator begin() const ;
94  const_iterator end() const ;
95 
96  private:
97  void initialize();
98 
100  const CONTAINER* m_container;
101 
103 
104 };
105 
107 
108 #endif
TileTT_Selector::setRoIs
void setRoIs(const VEC_TT_ID &ids)
TileTT_Selector::const_iterator::operator*
const OBJECT * operator*()
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
TileTT_Selector::COLL_ID
COLLECTION::ID COLL_ID
Definition: TileTT_Selector.h:34
TileTT_Selector::const_iterator::const_iterator
const_iterator(const VEC_ITPAIR *v, const ITPAIR_IT &it)
TileTT_Selector::setMap
void setMap(const TileRoI_Map *map)
TileTT_Selector::const_iterator::const_iterator
const_iterator(const VEC_ITPAIR *v)
skel.it
it
Definition: skel.GENtoEVGEN.py:423
TileTT_Selector::ITPAIR_IT
VEC_ITPAIR::const_iterator ITPAIR_IT
Definition: TileTT_Selector.h:45
TileTT_Selector::setContainer
void setContainer(const CONTAINER *c)
TileTT_Selector::VEC_ITPAIR
std::vector< ITPAIR > VEC_ITPAIR
Definition: TileTT_Selector.h:44
TileTT_Selector::TileTT_Selector
TileTT_Selector(const TileRoI_Map *map=0, const CONTAINER *c=NULL)
TileTT_Selector::TT_ID
Identifier TT_ID
Definition: TileTT_Selector.h:39
TileTT_Selector::m_roiMap
const TileRoI_Map * m_roiMap
Definition: TileTT_Selector.h:99
TileTT_Selector::OBJECT
COLLECTION::OBJECT OBJECT
Definition: TileTT_Selector.h:33
TileTT_Selector::COLLECTION
CONTAINER::IDENTIFIABLE COLLECTION
Constructors.
Definition: TileTT_Selector.h:30
TileTT_Selector::m_container
const CONTAINER * m_container
Definition: TileTT_Selector.h:100
TileTT_Selector::const_iterator
Definition: TileTT_Selector.h:53
TileTT_Selector::COLL_ID_IT
std::vector< COLL_ID >::const_iterator COLL_ID_IT
Definition: TileTT_Selector.h:35
TileTT_Selector::TT_ID_IT
VEC_TT_ID::const_iterator TT_ID_IT
Definition: TileTT_Selector.h:41
TileTT_Selector::const_iterator::m_obj_it_end
OBJ_IT m_obj_it_end
Definition: TileTT_Selector.h:78
TileTT_Selector::const_iterator::operator!=
bool operator!=(const const_iterator &it) const
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TileTT_Selector::OBJ_IT
COLLECTION::const_iterator OBJ_IT
Definition: TileTT_Selector.h:32
TileTT_Selector::ITPAIR
std::pair< OBJ_IT, OBJ_IT > ITPAIR
Definition: TileTT_Selector.h:43
TileTT_Selector::const_iterator::m_obj_it
OBJ_IT m_obj_it
Definition: TileTT_Selector.h:77
TileTT_Selector::begin
const_iterator begin() const
TileTT_Selector
Definition: TileTT_Selector.h:14
TileTT_Selector::const_iterator::operator=
const_iterator & operator=(const const_iterator &it)
TileTT_Selector.icc
TileTT_Selector::end
const_iterator end() const
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
TileTT_Selector::~TileTT_Selector
virtual ~TileTT_Selector()
Definition: TileTT_Selector.h:87
TileTT_Selector::const_iterator::const_iterator
const_iterator()
python.PyAthena.v
v
Definition: PyAthena.py:157
TileTT_Selector::initialize
void initialize()
TileTT_Selector::m_vecItPair
VEC_ITPAIR m_vecItPair
Definition: TileTT_Selector.h:102
TileTT_Selector::VEC_TT_ID
std::vector< TT_ID > VEC_TT_ID
Definition: TileTT_Selector.h:40
TileTT_Selector::MAP_IT
MAP_COLL_ROI::const_iterator MAP_IT
Definition: TileTT_Selector.h:50
TileTT_Selector::MAP_COLL_ROI
std::map< const COLLECTION *, VEC_TT_ID > MAP_COLL_ROI
Definition: TileTT_Selector.h:49
TileTT_Selector::COLL_IT
CONTAINER::const_iterator COLL_IT
Definition: TileTT_Selector.h:31
TileTT_Selector::const_iterator::operator==
bool operator==(const const_iterator &it) const
TileTT_Selector::const_iterator::operator++
const_iterator & operator++()
TileTT_Selector::const_iterator::m_pair_it
ITPAIR_IT m_pair_it
Definition: TileTT_Selector.h:76
python.compressB64.c
def c
Definition: compressB64.py:93
TileRoI_Map
TileCal RoI map to offline Identifier.
Definition: TileRoI_Map.h:32
TileTT_Selector::const_iterator::m_vec_itpair
const VEC_ITPAIR * m_vec_itpair
Definition: TileTT_Selector.h:75