ATLAS Offline Software
TileRawRoISelector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TILERAWUTILS_TILERAWROISELECTOR_H
6 #define TILERAWUTILS_TILERAWROISELECTOR_H
7 
8 
12 #include "Identifier/Identifier.h"
13 #include <vector>
14 #include <map>
15 
16 class TileRoI_Map;
17 
19 {
20 
21  public:
36 
38 
39  // a vector of ROI_ID
40  // typedef TileRoI_ID ROI_ID;
41  typedef Identifier TT_ID;
42  typedef std::vector<TT_ID> VEC_TT_ID;
43  typedef VEC_TT_ID::const_iterator TT_ID_IT;
44 
45  typedef std::pair<OBJ_IT,OBJ_IT> ITPAIR;
46  typedef std::vector<ITPAIR> VEC_ITPAIR;
47  typedef VEC_ITPAIR::const_iterator ITPAIR_IT;
48 
49  // a map of Collection ID and vector
50  // a Collection is associated with a list of TT_ID
51  typedef std::map<const COLLECTION*, VEC_TT_ID> MAP_COLL_ROI ;
52  typedef MAP_COLL_ROI::const_iterator MAP_IT ;
53 
55  {
56  friend class TileRawRoISelector ;
57  public:
58  const_iterator() ;
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:
72  const_iterator( const VEC_ITPAIR* v ) ;
73  const_iterator( const VEC_ITPAIR* v, const ITPAIR_IT& it ) ;
74 
79 
80  };
81 
82  friend class const_iterator;
83 
84  TileRawRoISelector ( TileRoI_Map* map=NULL,
85  TileRawChannelContainer* c=NULL );
86 
87  virtual ~TileRawRoISelector () = default;
88 
89  void setMap(TileRoI_Map* map) ;
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 
101 
103 
104 };
105 
106 
107 #endif
TileRawChannelContainer
Definition: TileRawChannelContainer.h:13
TileRawChannelCollection.h
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
TileRawRoISelector::setContainer
void setContainer(TileRawChannelContainer *c)
Definition: TileRawRoISelector.cxx:130
TileRawChannel.h
TileRawRoISelector::const_iterator::operator*
const OBJECT * operator*()
Definition: TileRawRoISelector.cxx:106
TileRawRoISelector::TileRawRoISelector
TileRawRoISelector(TileRoI_Map *map=NULL, TileRawChannelContainer *c=NULL)
Definition: TileRawRoISelector.cxx:115
TileRawRoISelector::const_iterator::m_obj_it_end
OBJ_IT m_obj_it_end
Definition: TileRawRoISelector.h:78
TileRawRoISelector::MAP_COLL_ROI
std::map< const COLLECTION *, VEC_TT_ID > MAP_COLL_ROI
Definition: TileRawRoISelector.h:51
skel.it
it
Definition: skel.GENtoEVGEN.py:396
TileRawRoISelector::COLLECTION
TileRawChannelCollection COLLECTION
Definition: TileRawRoISelector.h:32
TileRawRoISelector::const_iterator::m_obj_it
OBJ_IT m_obj_it
Definition: TileRawRoISelector.h:77
TileRawRoISelector::COLL_ID
COLLECTION::ID COLL_ID
Definition: TileRawRoISelector.h:37
TileRawRoISelector::const_iterator::const_iterator
const_iterator()
Definition: TileRawRoISelector.cxx:32
TileRawRoISelector::VEC_TT_ID
std::vector< TT_ID > VEC_TT_ID
Definition: TileRawRoISelector.h:42
TileRawRoISelector::begin
const_iterator begin() const
Definition: TileRawRoISelector.cxx:173
TileRawRoISelector::OBJECT
TileRawChannel OBJECT
Definition: TileRawRoISelector.h:33
TileRawChannelContainer.h
TileRawRoISelector::TT_ID
Identifier TT_ID
Definition: TileRawRoISelector.h:41
TileRawChannelCollection::ID
MyBase::ID ID
Definition: TileRawChannelCollection.h:17
TileRawRoISelector::CONTAINER
TileRawChannelContainer CONTAINER
Constructors.
Definition: TileRawRoISelector.h:31
TileRawChannel
Definition: TileRawChannel.h:35
TileRawRoISelector::ITPAIR_IT
VEC_ITPAIR::const_iterator ITPAIR_IT
Definition: TileRawRoISelector.h:47
TileRawRoISelector::m_container
TileRawChannelContainer * m_container
Definition: TileRawRoISelector.h:100
TileRawRoISelector::COLL_IT
CONTAINER::const_iterator COLL_IT
Definition: TileRawRoISelector.h:34
IdentifiableContainerMT::const_iterator
Definition: IdentifiableContainerMT.h:79
TileRawRoISelector::const_iterator::m_vec_itpair
const VEC_ITPAIR * m_vec_itpair
Definition: TileRawRoISelector.h:75
TileRawRoISelector::const_iterator::operator!=
bool operator!=(const const_iterator &it) const
Definition: TileRawRoISelector.cxx:71
TileRawRoISelector::const_iterator::operator==
bool operator==(const const_iterator &it) const
Definition: TileRawRoISelector.cxx:88
TileRawRoISelector::setRoIs
void setRoIs(const VEC_TT_ID &ids)
TileRawRoISelector::VEC_ITPAIR
std::vector< ITPAIR > VEC_ITPAIR
Definition: TileRawRoISelector.h:46
python.subdetectors.mmg.ids
ids
Definition: mmg.py:8
TileRawChannelCollection
Definition: TileRawChannelCollection.h:12
TileRawRoISelector::OBJ_IT
COLLECTION::const_iterator OBJ_IT
Definition: TileRawRoISelector.h:35
TileRawRoISelector::ITPAIR
std::pair< OBJ_IT, OBJ_IT > ITPAIR
Definition: TileRawRoISelector.h:45
TileRawRoISelector::m_vecItPair
VEC_ITPAIR m_vecItPair
Definition: TileRawRoISelector.h:102
TileRawRoISelector::setMap
void setMap(TileRoI_Map *map)
Definition: TileRawRoISelector.cxx:125
python.PyAthena.v
v
Definition: PyAthena.py:154
TileRawRoISelector::~TileRawRoISelector
virtual ~TileRawRoISelector()=default
TileRawRoISelector::TT_ID_IT
VEC_TT_ID::const_iterator TT_ID_IT
Definition: TileRawRoISelector.h:43
TileRawRoISelector::initialize
void initialize()
TileRawRoISelector::end
const_iterator end() const
Definition: TileRawRoISelector.cxx:179
TileRawRoISelector::MAP_IT
MAP_COLL_ROI::const_iterator MAP_IT
Definition: TileRawRoISelector.h:52
TileRawRoISelector::const_iterator::m_pair_it
ITPAIR_IT m_pair_it
Definition: TileRawRoISelector.h:76
TileRawRoISelector::const_iterator::operator++
const_iterator & operator++()
Definition: TileRawRoISelector.cxx:41
TileRawRoISelector
Definition: TileRawRoISelector.h:19
TileRawRoISelector::m_roiMap
TileRoI_Map * m_roiMap
Definition: TileRawRoISelector.h:99
python.compressB64.c
def c
Definition: compressB64.py:93
TileRoI_Map
TileCal RoI map to offline Identifier.
Definition: TileRoI_Map.h:32
TileRawRoISelector::const_iterator
Definition: TileRawRoISelector.h:55
Identifier
Definition: IdentifierFieldParser.cxx:14