CMS 3D CMS Logo

AlgoMuon.cc
Go to the documentation of this file.
2 
3 #include <bitset>
4 #include <iostream>
5 
6 bool AlgoMuon::isValid() const{
7  return m_q >= 0;
8 }
9 
10 bool AlgoMuon::operator< (const AlgoMuon & o) const{
11  if(this->getQ() > o.getQ()) return false;
12  else if(this->getQ()==o.getQ() && this->getDisc() > o.getDisc()) return false;
13  else if (getQ()==o.getQ() && getDisc() == o.getDisc() && getPatternNumber() > o.getPatternNumber() ) return false;
14  else if (getQ()==o.getQ() && getDisc() == o.getDisc() && getPatternNumber() == o.getPatternNumber() && getRefHitNumber() < o.getRefHitNumber()) return false;
15  else return true;
16 }
17 
18 std::ostream & operator<< (std::ostream &out, const AlgoMuon &o){
19  out <<"AlgoMuon: ";
20  out << " pt: " << o.getPt()
21  << ", phi: " << o.getPhi()
22  << ", eta: " << o.getEta()*2.61/240
23  << ", hits: " << std::bitset<18>(o.getHits()).to_string()
24  << ", q: " << o.getQ()
25  << ", bx: " << o.getBx()
26  << ", charge: "<< o.getCharge()
27  << ", disc: " << o.getDisc() << " refLayer: " << o.getRefLayer();
28 
29  return out;
30 }
int getCharge() const
Definition: AlgoMuon.h:28
int getEta() const
Definition: AlgoMuon.h:22
int getQ() const
Definition: AlgoMuon.h:25
bool isValid() const
Definition: AlgoMuon.cc:6
unsigned int getRefHitNumber() const
Definition: AlgoMuon.h:31
int m_q
Definition: AlgoMuon.h:59
int getDisc() const
Definition: AlgoMuon.h:20
int getBx() const
Definition: AlgoMuon.h:26
int getRefLayer() const
Definition: AlgoMuon.h:23
friend std::ostream & operator<<(std::ostream &out, const AlgoMuon &o)
Definition: AlgoMuon.cc:18
int getHits() const
Definition: AlgoMuon.h:24
bool operator<(const AlgoMuon &o) const
Definition: AlgoMuon.cc:10
int getPt() const
Definition: AlgoMuon.h:27
unsigned int getPatternNumber() const
Definition: AlgoMuon.h:30
int getPhi() const
Definition: AlgoMuon.h:21