Main Page
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
_
a
d
e
f
l
m
o
p
s
t
u
v
Related Functions
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Package Documentation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
SimMuon
MCTruth
src
PSimHitMap.cc
Go to the documentation of this file.
1
#include "
SimDataFormats/CrossingFrame/interface/MixCollection.h
"
2
#include "
SimMuon/MCTruth/interface/PSimHitMap.h
"
3
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
4
5
void
PSimHitMap::fill
(
const
edm::Event
&
e
) {
6
theMap
.clear();
7
edm::Handle<CrossingFrame<PSimHit>
> cf;
8
LogTrace
(
"PSimHitMap"
) <<
"getting CrossingFrame<PSimHit> collection "
;
9
e
.getByToken(
sh_token
, cf);
10
11
MixCollection<PSimHit>
simHits
(cf.
product
());
12
LogTrace
(
"PSimHitMap"
) <<
"... size = "
<<
simHits
.size();
13
14
// arrange the hits by detUnit
15
for
(
MixCollection<PSimHit>::MixItr
hitItr =
simHits
.begin(); hitItr !=
simHits
.end(); ++hitItr) {
16
theMap
[hitItr->detUnitId()].push_back(*hitItr);
17
}
18
}
19
20
const
edm::PSimHitContainer
&
PSimHitMap::hits
(
int
detId)
const
{
21
std::map<int, edm::PSimHitContainer>::const_iterator mapItr =
theMap
.find(detId);
22
if
(mapItr !=
theMap
.end()) {
23
return
mapItr->second;
24
}
else
{
25
return
theEmptyContainer
;
26
}
27
}
28
29
std::vector<int>
PSimHitMap::detsWithHits
()
const
{
30
std::vector<int>
result
;
31
result
.reserve(
theMap
.size());
32
for
(std::map<int, edm::PSimHitContainer>::const_iterator mapItr =
theMap
.begin(), mapEnd =
theMap
.end();
33
mapItr != mapEnd;
34
++mapItr) {
35
result
.push_back(mapItr->first);
36
}
37
return
result
;
38
}
MessageLogger.h
edm::Handle::product
T const * product() const
Definition:
Handle.h:70
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition:
FastTrackerRecHitCombiner_cfi.py:5
edm::Handle
Definition:
AssociativeIterator.h:50
MixCollection::MixItr
Definition:
MixCollection.h:61
PSimHitMap::sh_token
edm::EDGetTokenT< CrossingFrame< PSimHit > > sh_token
Definition:
PSimHitMap.h:27
PSimHitMap::theMap
std::map< int, edm::PSimHitContainer > theMap
Definition:
PSimHitMap.h:24
MixCollection.h
MixCollection
Definition:
MixCollection.h:10
PSimHitMap.h
PSimHitMap::fill
void fill(const edm::Event &e)
Definition:
PSimHitMap.cc:5
PSimHitMap::theEmptyContainer
edm::PSimHitContainer theEmptyContainer
Definition:
PSimHitMap.h:25
PSimHitMap::detsWithHits
std::vector< int > detsWithHits() const
Definition:
PSimHitMap.cc:29
PSimHitMap::hits
const edm::PSimHitContainer & hits(int detId) const
Definition:
PSimHitMap.cc:20
mps_fire.result
result
Definition:
mps_fire.py:311
LogTrace
#define LogTrace(id)
Definition:
MessageLogger.h:234
edm::PSimHitContainer
std::vector< PSimHit > PSimHitContainer
Definition:
PSimHitContainer.h:11
edm::Event
Definition:
Event.h:73
MillePedeFileConverter_cfg.e
e
Definition:
MillePedeFileConverter_cfg.py:37
Generated for CMSSW Reference Manual by
1.8.16