CMS 3D CMS Logo

Public Member Functions | Private Attributes | Static Private Attributes

csctf::TrackStub Class Reference

#include <TrackStub.h>

Inheritance diagram for csctf::TrackStub:
CSCCorrelatedLCTDigi

List of all members.

Public Member Functions

int BX () const
unsigned cscid () const
unsigned cscidSeparateME1a () const
unsigned endcap () const
unsigned etaPacked () const
 Return the binned eta for this stub.
double etaValue () const
 return the Eta Value of this stub's position.
DetId getDetId () const
const CSCCorrelatedLCTDigigetDigi () const
 Get the digi this stub was made from.
bool operator!= (const TrackStub &rhs) const
bool operator< (const TrackStub &) const
bool operator<= (const TrackStub &rhs) const
bool operator== (const TrackStub &rhs) const
bool operator> (const TrackStub &) const
 Comparision Operators, used for MPC sorting.
bool operator>= (const TrackStub &rhs) const
unsigned phiPacked () const
 Return the binned phi for this stub.
double phiValue () const
 return the Phi Value of this stub's position in local coordinates.
unsigned sector () const
void setEtaPacked (const unsigned &eta_)
 set Eta and Phi from integer values.
void setPhiPacked (const unsigned &phi_)
unsigned station () const
unsigned subsector () const
 TrackStub (const CSCCorrelatedLCTDigi &, const DetId &)
 TrackStub ()
 TrackStub (const TrackStub &)
 TrackStub (const CSCCorrelatedLCTDigi &, const DetId &, const unsigned &phi, const unsigned &eta)

Private Attributes

unsigned link_
uint32_t theDetId_
unsigned theEta_
unsigned thePhi_
static const double thePhiBinning = CSCTFConstants::SECTOR_RAD/(1<<CSCBitWidths::kGlobalPhiDataBitWidth)

Static Private Attributes

static const double theEtaBinning = (CSCTFConstants::maxEta - CSCTFConstants::minEta)/(CSCTFConstants::etaBins)

Detailed Description

Definition at line 23 of file TrackStub.h.


Constructor & Destructor Documentation

csctf::TrackStub::TrackStub ( ) [inline]

Definition at line 26 of file TrackStub.h.

{}
TrackStub::TrackStub ( const CSCCorrelatedLCTDigi aDigi,
const DetId aDetId 
)

Definition at line 14 of file TrackStub.cc.

                                           : CSCCorrelatedLCTDigi(aDigi),
                                             theDetId_(aDetId.rawId()),
                                             thePhi_(0),
                                             theEta_(0),
                                             link_(0)
  {}
TrackStub::TrackStub ( const CSCCorrelatedLCTDigi aDigi,
const DetId aDetId,
const unsigned &  phi,
const unsigned &  eta 
)

Definition at line 22 of file TrackStub.cc.

                                                                : CSCCorrelatedLCTDigi(aDigi),
                                                                  theDetId_(aDetId.rawId()),
                                                                  thePhi_(phi),
                                                                  theEta_(eta),
                                                                  link_(0)
  {}
TrackStub::TrackStub ( const TrackStub aTrackStub)

Definition at line 33 of file TrackStub.cc.

                                                 : CSCCorrelatedLCTDigi(aTrackStub),
                                                     theDetId_(aTrackStub.theDetId_),
                                                     thePhi_(aTrackStub.thePhi_),
                                                     theEta_(aTrackStub.theEta_),
                                                     link_(aTrackStub.link_)
  {}

Member Function Documentation

int csctf::TrackStub::BX ( ) const [inline]

Definition at line 58 of file TrackStub.h.

References CSCCorrelatedLCTDigi::getBX().

{return getBX();}
unsigned TrackStub::cscid ( ) const

Definition at line 120 of file TrackStub.cc.

References MuonSubdetId::CSC, CSCDetId, theDetId_, and CSCTriggerNumbering::triggerCscIdFromLabels().

Referenced by operator<(), and operator>().

  {
    if(DetId(theDetId_).subdetId() == MuonSubdetId::CSC)
      return CSCTriggerNumbering::triggerCscIdFromLabels(CSCDetId(theDetId_));

    return 0; // DT chambers obviously don't have a csc id :-D
  }
unsigned TrackStub::cscidSeparateME1a ( ) const

Definition at line 128 of file TrackStub.cc.

References MuonSubdetId::CSC, relativeConstraints::ring, station(), theDetId_, and CSCTriggerNumbering::triggerCscIdFromLabels().

  {
    if(DetId(theDetId_).subdetId() != MuonSubdetId::CSC) return 0;
    CSCDetId id(theDetId_);
    unsigned normal_cscid = CSCTriggerNumbering::triggerCscIdFromLabels(id);
    if (id.station()==1 && id.ring()==4) return normal_cscid + 9; // 10,11,12 for ME1a
    return normal_cscid;
  }
unsigned TrackStub::endcap ( ) const

Time / Space identifiers See CSCTransientDataType.h for more details.

Definition at line 40 of file TrackStub.cc.

References MuonSubdetId::CSC, CSCDetId, MuonSubdetId::DT, DTChamberId, and theDetId_.

  {
    int e = 0;

    switch(DetId(theDetId_).subdetId())
      {
      case (MuonSubdetId::DT):
        e = (DTChamberId(theDetId_).wheel() > 0) ? 1 : 2;
        break;
      case (MuonSubdetId::CSC):
        e = CSCDetId(theDetId_).endcap();
        break;
      default:
        break;
      }

    return e;
  }
unsigned csctf::TrackStub::etaPacked ( ) const [inline]

Return the binned eta for this stub.

Definition at line 41 of file TrackStub.h.

References theEta_.

{return theEta_;}
double csctf::TrackStub::etaValue ( ) const [inline]

return the Eta Value of this stub's position.

Definition at line 36 of file TrackStub.h.

References CSCTFConstants::minEta, theEta_, and theEtaBinning.

DetId csctf::TrackStub::getDetId ( void  ) const [inline]

Definition at line 48 of file TrackStub.h.

References theDetId_.

{return DetId(theDetId_);}
const CSCCorrelatedLCTDigi* csctf::TrackStub::getDigi ( ) const [inline]

Get the digi this stub was made from.

Definition at line 47 of file TrackStub.h.

Referenced by operator==().

{return dynamic_cast<const CSCCorrelatedLCTDigi*>(this);}
bool csctf::TrackStub::operator!= ( const TrackStub rhs) const [inline]

Definition at line 67 of file TrackStub.h.

References operator==().

{ return !(this->operator==(rhs)); }
bool TrackStub::operator< ( const TrackStub rhs) const

Definition at line 137 of file TrackStub.cc.

References cscid(), CSCCorrelatedLCTDigi::getQuality(), CSCCorrelatedLCTDigi::getTrknmb(), and CSCCorrelatedLCTDigi::isValid().

Referenced by operator>=().

  {
    return ( rhs.isValid() && ( (!(isValid())) || (getQuality() < rhs.getQuality()) ||
                                (getQuality() == rhs.getQuality() && cscid() < rhs.cscid()) ||
                              (getQuality() == rhs.getQuality() && cscid() == rhs.cscid() &&
                               (getTrknmb() == 2)) ) );
  }
bool csctf::TrackStub::operator<= ( const TrackStub rhs) const [inline]

Definition at line 65 of file TrackStub.h.

References operator>().

{ return !(this->operator>(rhs)); }
bool csctf::TrackStub::operator== ( const TrackStub rhs) const [inline]

Definition at line 66 of file TrackStub.h.

References getDigi(), and theDetId_.

Referenced by operator!=().

{ return ((theDetId_ == rhs.theDetId_) && ( *(getDigi()) == *(rhs.getDigi()))); }
bool TrackStub::operator> ( const TrackStub rhs) const

Comparision Operators, used for MPC sorting.

Definition at line 145 of file TrackStub.cc.

References cscid(), CSCCorrelatedLCTDigi::getQuality(), CSCCorrelatedLCTDigi::getTrknmb(), and CSCCorrelatedLCTDigi::isValid().

Referenced by operator<=().

  {
    return ( isValid() && ( (!(rhs.isValid())) || (getQuality() > rhs.getQuality()) ||
                            (getQuality() == rhs.getQuality() && cscid() > rhs.cscid()) ||
                            (getQuality() == rhs.getQuality() && cscid() == rhs.cscid() &&
                             (getTrknmb() == 1)) ) );
  }
bool csctf::TrackStub::operator>= ( const TrackStub rhs) const [inline]

Definition at line 64 of file TrackStub.h.

References operator<().

{ return !(this->operator<(rhs)); }
unsigned csctf::TrackStub::phiPacked ( ) const [inline]

Return the binned phi for this stub.

Definition at line 44 of file TrackStub.h.

References thePhi_.

{return thePhi_;}
double csctf::TrackStub::phiValue ( ) const [inline]

return the Phi Value of this stub's position in local coordinates.

Definition at line 38 of file TrackStub.h.

References thePhi_, and thePhiBinning.

{return (thePhi_*thePhiBinning);}
unsigned TrackStub::sector ( ) const

Definition at line 78 of file TrackStub.cc.

References MuonSubdetId::CSC, CSCDetId, MuonSubdetId::DT, DTChamberId, theDetId_, and CSCTriggerNumbering::triggerSectorFromLabels().

  {
    int se = 0, temps = 0;

    switch(DetId(theDetId_).subdetId())
      {
      case (MuonSubdetId::DT): {
        temps = DTChamberId(theDetId_).sector();
        const unsigned int dt2csc[12] = {6,1,1,2,2,3,3,4,4,5,5,6};
        se = dt2csc[temps-1]; }
        break;
      case (MuonSubdetId::CSC):
        se = CSCTriggerNumbering::triggerSectorFromLabels(CSCDetId(theDetId_));
        break;
      default:
        break;
      }

    return se;
  }
void csctf::TrackStub::setEtaPacked ( const unsigned &  eta_) [inline]

set Eta and Phi from integer values.

Definition at line 32 of file TrackStub.h.

References theEta_.

{theEta_ = eta_;}
void csctf::TrackStub::setPhiPacked ( const unsigned &  phi_) [inline]

Definition at line 33 of file TrackStub.h.

References thePhi_.

{thePhi_ = phi_;}
unsigned TrackStub::station ( ) const

Definition at line 59 of file TrackStub.cc.

References MuonSubdetId::CSC, CSCDetId, MuonSubdetId::DT, DTChamberId, asciidump::s, and theDetId_.

Referenced by cscidSeparateME1a().

  {
    int s = 0;

    switch(DetId(theDetId_).subdetId())
      {
      case (MuonSubdetId::DT):
        s = DTChamberId(theDetId_).station() + 4;
        break;
      case (MuonSubdetId::CSC):
        s = CSCDetId(theDetId_).station();
        break;
      default:
        break;
      }

    return s;
  }
unsigned TrackStub::subsector ( ) const

Definition at line 99 of file TrackStub.cc.

References MuonSubdetId::CSC, CSCDetId, MuonSubdetId::DT, DTChamberId, theDetId_, and CSCTriggerNumbering::triggerSubSectorFromLabels().

  {
    int ss = 0;

    switch(DetId(theDetId_).subdetId())
      {
      case (MuonSubdetId::DT): {
        ss = DTChamberId(theDetId_).sector();
        const unsigned int dt2csc_[12] = {2,1,2,1,2,1,2,1,2,1,2,1};
        ss = dt2csc_[ss-1]; }
        break;
      case (MuonSubdetId::CSC):
        ss = CSCTriggerNumbering::triggerSubSectorFromLabels(CSCDetId(theDetId_));
        break;
      default:
        break;
      }

    return ss;
  }

Member Data Documentation

unsigned csctf::TrackStub::link_ [private]

Definition at line 71 of file TrackStub.h.

uint32_t csctf::TrackStub::theDetId_ [private]

Definition at line 70 of file TrackStub.h.

Referenced by cscid(), cscidSeparateME1a(), endcap(), getDetId(), operator==(), sector(), station(), and subsector().

unsigned csctf::TrackStub::theEta_ [private]

Definition at line 71 of file TrackStub.h.

Referenced by etaPacked(), etaValue(), and setEtaPacked().

const double TrackStub::theEtaBinning = (CSCTFConstants::maxEta - CSCTFConstants::minEta)/(CSCTFConstants::etaBins) [static, private]

Definition at line 72 of file TrackStub.h.

Referenced by etaValue().

unsigned csctf::TrackStub::thePhi_ [private]

Definition at line 71 of file TrackStub.h.

Referenced by phiPacked(), phiValue(), and setPhiPacked().

const double TrackStub::thePhiBinning = CSCTFConstants::SECTOR_RAD/(1<<CSCBitWidths::kGlobalPhiDataBitWidth) [private]

Definition at line 72 of file TrackStub.h.

Referenced by phiValue().