CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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  }
37 
38  return true;
39 }
40 
41 
43 {
44  return (sortId(a)<sortId(b));
45 }
46 
47 int FormatBarrelHits::sortId(const PSimHit & a) const
48 {
49  return a.detUnitId();
50 }
51 
53 {
54  return (sortId(a)<sortId(b));
55 }
56 
57 int FormatEndcapHits::sortId(const PSimHit & a) const
58 {
59  return a.detUnitId();
60 }
61 
63 {
64  return (sortId(a)<sortId(b));
65 }
66 
67 int FormatRpcHits::sortId(const PSimHit & a) const
68 {
69  return a.detUnitId();
70 }
71 
#define LogDebug(id)
MuonSubDetector * detector
Definition: MuonSlaveSD.h:44
Collection hits_
Definition: MuonSlaveSD.h:41
virtual void clearHits()
Definition: MuonSlaveSD.cc:21
std::string name()
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:47
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:67
int sortId(const PSimHit &a) const
Definition: MuonSlaveSD.cc:57
double b
Definition: hdecay.h:120
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:42
double a
Definition: hdecay.h:121
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:62
bool operator()(const PSimHit &a, const PSimHit &b)
Definition: MuonSlaveSD.cc:52
unsigned int detUnitId() const
Definition: PSimHit.h:93