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 }
17 
19 }
20 
22 {
23  LogDebug("MuonSimDebug") << " MuonSlaveSD::clearHits "<< detector->name() << std::endl;
24  hits_.clear();
25 }
26 
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 
46 {
47  return (sortId(a)<sortId(b));
48 }
49 
50 int FormatBarrelHits::sortId(const PSimHit & a) const
51 {
52  return a.detUnitId();
53 }
54 
56 {
57  return (sortId(a)<sortId(b));
58 }
59 
60 int FormatEndcapHits::sortId(const PSimHit & a) const
61 {
62  return a.detUnitId();
63 }
64 
66 {
67  return (sortId(a)<sortId(b));
68 }
69 
70 int FormatRpcHits::sortId(const PSimHit & a) const
71 {
72  return a.detUnitId();
73 }
74 
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 
87 {
88  return (sortId(a)<sortId(b));
89 }
90 
91 int FormatMe0Hits::sortId(const PSimHit & a) const
92 {
93  return a.detUnitId();
94 }
#define LogDebug(id)
MuonSubDetector * detector
Definition: MuonSlaveSD.h:44
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:91
Collection hits_
Definition: MuonSlaveSD.h:41
virtual void clearHits()
Definition: MuonSlaveSD.cc:21
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:86
std::string name()
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:50
virtual ~MuonSlaveSD()
Definition: MuonSlaveSD.cc:18
MuonSlaveSD(MuonSubDetector *, const SimTrackManager *)
Definition: MuonSlaveSD.cc:10
virtual bool format()
Definition: MuonSlaveSD.cc:27
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:70
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:60
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:80
double b
Definition: hdecay.h:120
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:45
double a
Definition: hdecay.h:121
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:65
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:75
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:55
unsigned int detUnitId() const
Definition: PSimHit.h:93