CMS 3D CMS Logo

MuonSlaveSD.cc
Go to the documentation of this file.
3 
6 
7 #include <iostream>
8 
10  : TrackingSlaveSD(d->name()), m_trackManager(manager) {
11  detector = d;
12 }
13 
15 
17  LogDebug("MuonSimDebug") << " MuonSlaveSD::clearHits " << detector->name() << std::endl;
18  hits_.clear();
19 }
20 
22  LogDebug("MuonSimDebug") << " MuonSlaveSD " << detector->name() << " formatting " << hits_.size() << " hits."
23  << std::endl;
24  if (detector->isBarrel()) {
25  sort(hits_.begin(), hits_.end(), FormatBarrelHits());
26  } else if (detector->isEndcap()) {
27  sort(hits_.begin(), hits_.end(), FormatEndcapHits());
28  } else if (detector->isRPC()) {
29  sort(hits_.begin(), hits_.end(), FormatRpcHits());
30  } else if (detector->isGEM()) {
31  sort(hits_.begin(), hits_.end(), FormatGemHits());
32  } else if (detector->isME0()) {
33  sort(hits_.begin(), hits_.end(), FormatMe0Hits());
34  }
35  return true;
36 }
37 
38 bool FormatBarrelHits::operator()(const PSimHit& a, const PSimHit& b) { return (sortId(a) < sortId(b)); }
39 
40 int FormatBarrelHits::sortId(const PSimHit& a) const { return a.detUnitId(); }
41 
42 bool FormatEndcapHits::operator()(const PSimHit& a, const PSimHit& b) { return (sortId(a) < sortId(b)); }
43 
44 int FormatEndcapHits::sortId(const PSimHit& a) const { return a.detUnitId(); }
45 
46 bool FormatRpcHits::operator()(const PSimHit& a, const PSimHit& b) { return (sortId(a) < sortId(b)); }
47 
48 int FormatRpcHits::sortId(const PSimHit& a) const { return a.detUnitId(); }
49 
50 bool FormatGemHits::operator()(const PSimHit& a, const PSimHit& b) { return (sortId(a) < sortId(b)); }
51 
52 int FormatGemHits::sortId(const PSimHit& a) const { return a.detUnitId(); }
53 
54 bool FormatMe0Hits::operator()(const PSimHit& a, const PSimHit& b) { return (sortId(a) < sortId(b)); }
55 
56 int FormatMe0Hits::sortId(const PSimHit& a) const { return a.detUnitId(); }
MuonSubDetector * detector
Definition: MuonSlaveSD.h:41
Collection hits_
Definition: MuonSlaveSD.h:38
virtual void clearHits()
Definition: MuonSlaveSD.cc:16
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:54
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:48
std::string name()
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:56
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:40
MuonSlaveSD(MuonSubDetector *, const SimTrackManager *)
Definition: MuonSlaveSD.cc:9
bool format() override
Definition: MuonSlaveSD.cc:21
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:44
d
Definition: ztail.py:151
double b
Definition: hdecay.h:118
~MuonSlaveSD() override
Definition: MuonSlaveSD.cc:14
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:38
double a
Definition: hdecay.h:119
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:46
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:50
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:42
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:52
#define LogDebug(id)