test
Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SimG4CMS
Muon
src
MuonSlaveSD.cc
Go to the documentation of this file.
1
#include "
SimG4CMS/Muon/interface/MuonSlaveSD.h
"
2
#include "
Geometry/MuonNumbering/interface/MuonSubDetector.h
"
3
4
#include "
SimG4Core/Application/interface/SimTrackManager.h
"
5
#include "
FWCore/MessageLogger/interface/MessageLogger.h
"
6
7
#include <iostream>
8
9
10
MuonSlaveSD::MuonSlaveSD
(
MuonSubDetector
*
d
,
11
const
SimTrackManager
* manager):
12
TrackingSlaveSD
(d->
name
() ), m_trackManager(manager)
13
{
14
detector
=
d
;
15
16
}
17
18
MuonSlaveSD::~MuonSlaveSD
() {
19
}
20
21
void
MuonSlaveSD::clearHits
()
22
{
23
LogDebug
(
"MuonSimDebug"
) <<
" MuonSlaveSD::clearHits "
<<
detector
->
name
() << std::endl;
24
hits_
.clear();
25
}
26
27
bool
MuonSlaveSD::format
()
28
{
29
LogDebug
(
"MuonSimDebug"
) <<
" MuonSlaveSD "
<<
detector
->
name
()<<
" formatting "
<<
hits_
.size() <<
" hits."
<< std::endl;
30
if
(
detector
->
isBarrel
()) {
31
sort(
hits_
.begin(),
hits_
.end(),
FormatBarrelHits
());
32
}
else
if
(
detector
->
isEndcap
()) {
33
sort(
hits_
.begin(),
hits_
.end(),
FormatEndcapHits
());
34
}
else
if
(
detector
->
isRPC
()) {
35
sort(
hits_
.begin(),
hits_
.end(),
FormatRpcHits
());
36
}
else
if
(
detector
->
isGEM
()) {
37
sort(
hits_
.begin(),
hits_
.end(),
FormatGemHits
());
38
}
else
if
(
detector
->
isME0
()) {
39
sort(
hits_
.begin(),
hits_
.end(),
FormatMe0Hits
());
40
}
41
return
true
;
42
}
43
44
45
bool
FormatBarrelHits::operator()
(
const
PSimHit
&
a
,
const
PSimHit
&
b
)
46
{
47
return
(
sortId
(a)<
sortId
(b));
48
}
49
50
int
FormatBarrelHits::sortId
(
const
PSimHit
&
a
)
const
51
{
52
return
a.
detUnitId
();
53
}
54
55
bool
FormatEndcapHits::operator()
(
const
PSimHit
&
a
,
const
PSimHit
&
b
)
56
{
57
return
(
sortId
(a)<
sortId
(b));
58
}
59
60
int
FormatEndcapHits::sortId
(
const
PSimHit
&
a
)
const
61
{
62
return
a.
detUnitId
();
63
}
64
65
bool
FormatRpcHits::operator()
(
const
PSimHit
&
a
,
const
PSimHit
&
b
)
66
{
67
return
(
sortId
(a)<
sortId
(b));
68
}
69
70
int
FormatRpcHits::sortId
(
const
PSimHit
&
a
)
const
71
{
72
return
a.
detUnitId
();
73
}
74
75
bool
FormatGemHits::operator()
(
const
PSimHit
&
a
,
const
PSimHit
&
b
)
76
{
77
return
(
sortId
(a)<
sortId
(b));
78
}
79
80
int
FormatGemHits::sortId
(
const
PSimHit
&
a
)
const
81
{
82
return
a.
detUnitId
();
83
}
84
85
86
bool
FormatMe0Hits::operator()
(
const
PSimHit
&
a
,
const
PSimHit
&
b
)
87
{
88
return
(
sortId
(a)<
sortId
(b));
89
}
90
91
int
FormatMe0Hits::sortId
(
const
PSimHit
&
a
)
const
92
{
93
return
a.
detUnitId
();
94
}
LogDebug
#define LogDebug(id)
Definition:
MessageLogger.h:501
MuonSlaveSD::detector
MuonSubDetector * detector
Definition:
MuonSlaveSD.h:44
MessageLogger.h
FormatMe0Hits::sortId
int sortId(const PSimHit &a) const
Definition:
MuonSlaveSD.cc:91
MuonSlaveSD::hits_
Collection hits_
Definition:
MuonSlaveSD.h:41
MuonSlaveSD::clearHits
virtual void clearHits()
Definition:
MuonSlaveSD.cc:21
FormatRpcHits
Definition:
MuonSlaveSD.h:62
FormatMe0Hits::operator()
bool operator()(const PSimHit &a, const PSimHit &b)
Definition:
MuonSlaveSD.cc:86
MuonSubDetector::name
std::string name()
Definition:
MuonSubDetector.cc:44
FormatBarrelHits::sortId
int sortId(const PSimHit &a) const
Definition:
MuonSlaveSD.cc:50
mergeVDriftHistosByStation.name
string name
Definition:
mergeVDriftHistosByStation.py:77
MuonSlaveSD::~MuonSlaveSD
virtual ~MuonSlaveSD()
Definition:
MuonSlaveSD.cc:18
SimTrackManager.h
ztail.d
tuple d
Definition:
ztail.py:151
MuonSlaveSD::MuonSlaveSD
MuonSlaveSD(MuonSubDetector *, const SimTrackManager *)
Definition:
MuonSlaveSD.cc:10
MuonSlaveSD::format
virtual bool format()
Definition:
MuonSlaveSD.cc:27
FormatGemHits
Definition:
MuonSlaveSD.h:68
MuonSubDetector::isRPC
bool isRPC()
Definition:
MuonSubDetector.cc:32
FormatRpcHits::sortId
int sortId(const PSimHit &a) const
Definition:
MuonSlaveSD.cc:70
MuonSubDetector::isME0
bool isME0()
Definition:
MuonSubDetector.cc:40
FormatEndcapHits::sortId
int sortId(const PSimHit &a) const
Definition:
MuonSlaveSD.cc:60
FormatGemHits::sortId
int sortId(const PSimHit &a) const
Definition:
MuonSlaveSD.cc:80
FormatMe0Hits
Definition:
MuonSlaveSD.h:74
FormatBarrelHits
Definition:
MuonSlaveSD.h:50
b
double b
Definition:
hdecay.h:120
FormatBarrelHits::operator()
bool operator()(const PSimHit &a, const PSimHit &b)
Definition:
MuonSlaveSD.cc:45
MuonSubDetector
Definition:
MuonSubDetector.h:19
a
double a
Definition:
hdecay.h:121
PSimHit
Definition:
PSimHit.h:15
MuonSubDetector::isBarrel
bool isBarrel()
Definition:
MuonSubDetector.cc:24
FormatEndcapHits
Definition:
MuonSlaveSD.h:56
FormatRpcHits::operator()
bool operator()(const PSimHit &a, const PSimHit &b)
Definition:
MuonSlaveSD.cc:65
FormatGemHits::operator()
bool operator()(const PSimHit &a, const PSimHit &b)
Definition:
MuonSlaveSD.cc:75
MuonSubDetector::isGEM
bool isGEM()
Definition:
MuonSubDetector.cc:36
TrackingSlaveSD
Definition:
TrackingSlaveSD.h:11
MuonSlaveSD.h
MuonSubDetector::isEndcap
bool isEndcap()
Definition:
MuonSubDetector.cc:28
MuonSubDetector.h
FormatEndcapHits::operator()
bool operator()(const PSimHit &a, const PSimHit &b)
Definition:
MuonSlaveSD.cc:55
PSimHit::detUnitId
unsigned int detUnitId() const
Definition:
PSimHit.h:93
SimTrackManager
Definition:
SimTrackManager.h:34
Generated for CMSSW Reference Manual by
1.8.5