ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArRawUtils
LArRawUtils
LArTT_Selector.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 LARRAWUTILS_LARTT_SELECTOR_H
6
#define LARRAWUTILS_LARTT_SELECTOR_H
7
8
#include "Identifier/Identifier.h"
9
#include "
Identifier/IdentifierHash.h
"
10
11
class
LArRoIMap
;
12
13
template
<
class
CONTAINER >
14
class
LArTT_Selector
15
{
16
17
public
:
22
23
26
27
// typedef LArRawChannelContainer CONTAINER;
28
// typedef LArRawChannelCollection COLLECTION;
29
// typedef LArRawChannel OBJECT;
30
31
typedef
typename
CONTAINER::IDENTIFIABLE
COLLECTION
;
32
typedef
typename
CONTAINER::const_iterator
COLL_IT
;
33
typedef
typename
COLLECTION::const_iterator
OBJ_IT
;
34
typedef
typename
COLLECTION::OBJECT
OBJECT
;
35
typedef
typename
COLLECTION::ID
COLL_ID
;
36
typedef
typename
std::vector<COLL_ID>::const_iterator
COLL_ID_IT
;
37
// typedef std::vector<COLL_ID>::const_iterator COLL_ID_IT;
38
39
// a vector of ROI_ID
40
// typedef LArRoI_ID ROI_ID;
41
typedef
IdentifierHash
TT_ID
;
42
typedef
std::vector<TT_ID>
VEC_TT_ID
;
43
typedef
VEC_TT_ID::const_iterator
TT_ID_IT
;
44
45
typedef
unsigned
int
TT_SAM_ID
;
46
typedef
std::vector<TT_SAM_ID>
VEC_TT_SAM_ID
;
47
typedef
VEC_TT_SAM_ID::const_iterator
TT_SAM_ID_IT
;
48
49
typedef
std::pair<OBJ_IT,OBJ_IT>
ITPAIR
;
50
typedef
std::vector<ITPAIR>
VEC_ITPAIR
;
51
typedef
typename
VEC_ITPAIR::const_iterator
ITPAIR_IT
;
52
53
// a map of Collection ID and vector
54
// a Collection is associated with a list of TT_ID
55
typedef
std::map<const COLLECTION*, VEC_TT_ID>
MAP_COLL_ROI
;
56
typedef
typename
MAP_COLL_ROI::const_iterator
MAP_IT
;
57
58
class
const_iterator
59
{
60
friend
class
LArTT_Selector
<CONTAINER> ;
61
public
:
62
const_iterator
() ;
63
64
const_iterator
&
operator ++
() ;
65
66
const_iterator
operator ++
(
int
);
67
68
const
OBJECT
*
operator *
() ;
69
70
bool
operator !=
(
const
const_iterator
& it )
const
;
71
72
bool
operator ==
(
const
const_iterator
& it )
const
;
73
74
75
private
:
76
const_iterator
(
const
VEC_ITPAIR
* v ) ;
77
const_iterator
(
const
VEC_ITPAIR
* v,
const
ITPAIR_IT
& it ) ;
78
79
const
VEC_ITPAIR
*
m_vec_itpair
;
80
ITPAIR_IT
m_pair_it
;
81
OBJ_IT
m_obj_it
;
82
OBJ_IT
m_obj_it_end
;
83
84
};
85
86
friend
class
const_iterator
;
87
88
LArTT_Selector
(
const
LArRoIMap
*
map
= 0,
89
const
CONTAINER* c=NULL );
90
91
virtual
~LArTT_Selector
() {} ;
92
93
void
setMap
(
const
LArRoIMap
*
map
) ;
94
void
setContainer
(
const
CONTAINER* c) ;
95
96
// set RoI according TT, + a sam number.
97
// void setRoIs( const VEC_TT_ID& ids, int sam ) ;
98
void
setRoIs
(
const
VEC_TT_ID
& ids ) ;
99
100
// set RoI according to combined TT_Sampling ID (unsigned int).
101
// void setRoIs( const VEC_TT_SAM_ID& ids ) ;
102
103
const_iterator
begin
()
const
;
104
const_iterator
end
()
const
;
105
106
private
:
107
void
initialize
();
108
109
const
LArRoIMap
*
m_roiMap
;
110
const
CONTAINER*
m_container
;
111
112
VEC_ITPAIR
m_vecItPair
;
113
114
};
115
116
#include "
LArRawUtils/LArTT_Selector.icc
"
117
118
#endif
IdentifierHash.h
LArTT_Selector.icc
IdentifierHash
This is a "hash" representation of an Identifier.
Definition
IdentifierHash.h:25
LArRoIMap
Mapping between calorimeter trigger id to offline/online Identifier.
Definition
LArRoIMap.h:31
LArTT_Selector::const_iterator
Definition
LArTT_Selector.h:59
LArTT_Selector::const_iterator::m_obj_it
OBJ_IT m_obj_it
Definition
LArTT_Selector.h:81
LArTT_Selector::const_iterator::operator++
const_iterator & operator++()
LArTT_Selector::const_iterator::m_vec_itpair
const VEC_ITPAIR * m_vec_itpair
Definition
LArTT_Selector.h:79
LArTT_Selector::const_iterator::const_iterator
const_iterator(const VEC_ITPAIR *v, const ITPAIR_IT &it)
LArTT_Selector::const_iterator::const_iterator
const_iterator()
LArTT_Selector::const_iterator::const_iterator
const_iterator(const VEC_ITPAIR *v)
LArTT_Selector::const_iterator::operator==
bool operator==(const const_iterator &it) const
LArTT_Selector::const_iterator::operator*
const OBJECT * operator*()
LArTT_Selector::const_iterator::operator!=
bool operator!=(const const_iterator &it) const
LArTT_Selector::const_iterator::m_pair_it
ITPAIR_IT m_pair_it
Definition
LArTT_Selector.h:80
LArTT_Selector::const_iterator::m_obj_it_end
OBJ_IT m_obj_it_end
Definition
LArTT_Selector.h:82
LArTT_Selector::begin
const_iterator begin() const
LArTT_Selector::TT_ID
IdentifierHash TT_ID
Definition
LArTT_Selector.h:41
LArTT_Selector::setRoIs
void setRoIs(const VEC_TT_ID &ids)
LArTT_Selector::OBJECT
COLLECTION::OBJECT OBJECT
Definition
LArTT_Selector.h:34
LArTT_Selector::TT_SAM_ID
unsigned int TT_SAM_ID
Definition
LArTT_Selector.h:45
LArTT_Selector::setMap
void setMap(const LArRoIMap *map)
LArTT_Selector::MAP_COLL_ROI
std::map< const COLLECTION *, VEC_TT_ID > MAP_COLL_ROI
Definition
LArTT_Selector.h:55
LArTT_Selector::end
const_iterator end() const
LArTT_Selector::initialize
void initialize()
LArTT_Selector::m_container
const CONTAINER * m_container
Definition
LArTT_Selector.h:110
LArTT_Selector::COLL_IT
CONTAINER::const_iterator COLL_IT
Definition
LArTT_Selector.h:32
LArTT_Selector::m_roiMap
const LArRoIMap * m_roiMap
Definition
LArTT_Selector.h:109
LArTT_Selector::ITPAIR_IT
VEC_ITPAIR::const_iterator ITPAIR_IT
Definition
LArTT_Selector.h:51
LArTT_Selector::COLL_ID
COLLECTION::ID COLL_ID
Definition
LArTT_Selector.h:35
LArTT_Selector::VEC_ITPAIR
std::vector< ITPAIR > VEC_ITPAIR
Definition
LArTT_Selector.h:50
LArTT_Selector::TT_SAM_ID_IT
VEC_TT_SAM_ID::const_iterator TT_SAM_ID_IT
Definition
LArTT_Selector.h:47
LArTT_Selector::VEC_TT_ID
std::vector< TT_ID > VEC_TT_ID
Definition
LArTT_Selector.h:42
LArTT_Selector::LArTT_Selector
LArTT_Selector(const LArRoIMap *map=0, const CONTAINER *c=NULL)
LArTT_Selector::VEC_TT_SAM_ID
std::vector< TT_SAM_ID > VEC_TT_SAM_ID
Definition
LArTT_Selector.h:46
LArTT_Selector::MAP_IT
MAP_COLL_ROI::const_iterator MAP_IT
Definition
LArTT_Selector.h:56
LArTT_Selector::TT_ID_IT
VEC_TT_ID::const_iterator TT_ID_IT
Definition
LArTT_Selector.h:43
LArTT_Selector::COLL_ID_IT
std::vector< COLL_ID >::const_iterator COLL_ID_IT
Definition
LArTT_Selector.h:36
LArTT_Selector::COLLECTION
CONTAINER::IDENTIFIABLE COLLECTION
Constructors.
Definition
LArTT_Selector.h:31
LArTT_Selector::OBJ_IT
COLLECTION::const_iterator OBJ_IT
Definition
LArTT_Selector.h:33
LArTT_Selector::~LArTT_Selector
virtual ~LArTT_Selector()
Definition
LArTT_Selector.h:91
LArTT_Selector::ITPAIR
std::pair< OBJ_IT, OBJ_IT > ITPAIR
Definition
LArTT_Selector.h:49
LArTT_Selector::m_vecItPair
VEC_ITPAIR m_vecItPair
Definition
LArTT_Selector.h:112
LArTT_Selector::setContainer
void setContainer(const CONTAINER *c)
map
STL class.
Generated on
for ATLAS Offline Software by
1.17.0