CMS 3D CMS Logo

MuonSlaveSD.cc
Go to the documentation of this file.
3 
6 
7 #include <iostream>
8 
9 
11  const SimTrackManager* manager):
12  TrackingSlaveSD(d->name() ), m_trackManager(manager)
13 {
14  detector=d;
15 }
16 
18 }
19 
21 {
22  LogDebug("MuonSimDebug") << " MuonSlaveSD::clearHits "<< detector->name() << std::endl;
23  hits_.clear();
24 }
25 
27 {
28  LogDebug("MuonSimDebug") << " MuonSlaveSD "<<detector->name()<<" formatting " << hits_.size() <<" hits."<< std::endl;
29  if (detector->isBarrel()) {
30  sort(hits_.begin(),hits_.end(), FormatBarrelHits());
31  } else if (detector->isEndcap()) {
32  sort(hits_.begin(),hits_.end(), FormatEndcapHits());
33  } else if (detector->isRPC()) {
34  sort(hits_.begin(),hits_.end(), FormatRpcHits());
35  } else if (detector->isGEM()) {
36  sort(hits_.begin(),hits_.end(), FormatGemHits());
37  } else if (detector->isME0()) {
38  sort(hits_.begin(),hits_.end(), FormatMe0Hits());
39  }
40  return true;
41 }
42 
44 {
45  return (sortId(a)<sortId(b));
46 }
47 
48 int FormatBarrelHits::sortId(const PSimHit & a) const
49 {
50  return a.detUnitId();
51 }
52 
54 {
55  return (sortId(a)<sortId(b));
56 }
57 
58 int FormatEndcapHits::sortId(const PSimHit & a) const
59 {
60  return a.detUnitId();
61 }
62 
64 {
65  return (sortId(a)<sortId(b));
66 }
67 
68 int FormatRpcHits::sortId(const PSimHit & a) const
69 {
70  return a.detUnitId();
71 }
72 
74 {
75  return (sortId(a)<sortId(b));
76 }
77 
78 int FormatGemHits::sortId(const PSimHit & a) const
79 {
80  return a.detUnitId();
81 }
82 
84 {
85  return (sortId(a)<sortId(b));
86 }
87 
88 int FormatMe0Hits::sortId(const PSimHit & a) const
89 {
90  return a.detUnitId();
91 }
#define LogDebug(id)
MuonSubDetector * detector
Definition: MuonSlaveSD.h:43
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:88
Collection hits_
Definition: MuonSlaveSD.h:40
virtual void clearHits()
Definition: MuonSlaveSD.cc:20
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:83
std::string name()
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:48
MuonSlaveSD(MuonSubDetector *, const SimTrackManager *)
Definition: MuonSlaveSD.cc:10
bool format() override
Definition: MuonSlaveSD.cc:26
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:68
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:58
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:78
double b
Definition: hdecay.h:120
~MuonSlaveSD() override
Definition: MuonSlaveSD.cc:17
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:43
double a
Definition: hdecay.h:121
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:63
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:73
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:53
unsigned int detUnitId() const
Definition: PSimHit.h:93