CMS 3D CMS Logo

Classes | Public Member Functions | Private Types | Private Attributes | Friends

L1MuGMTExtendedCand Class Reference

#include <L1MuGMTExtendedCand.h>

Inheritance diagram for L1MuGMTExtendedCand:
L1MuGMTCand SimpleL1MuGMTCand

List of all members.

Classes

class  Rank
 define a rank for muon candidates More...
class  RankRef
 define a rank for muon candidates More...

Public Member Functions

unsigned int detector () const
unsigned getDTCSCIndex () const
 get index of contributing DT/CSC muon
unsigned getRPCIndex () const
 get index of contributing RPC muon
bool isFwd () const
 get forward bit (true=forward, false=barrel)
bool isRPC () const
 get RPC bit (true=RPC, false = DT/CSC or matched)
 L1MuGMTExtendedCand (unsigned data, unsigned rank, int bx=0)
 constructor
 L1MuGMTExtendedCand ()
 constructor
 L1MuGMTExtendedCand (const L1MuGMTExtendedCand &)
 copy constructor
bool operator!= (const L1MuGMTExtendedCand &) const
 unequal operator
bool operator== (const L1MuGMTExtendedCand &) const
 equal operator
void print () const
 print parameters of muon candidate
unsigned int rank () const
 get rank
void reset ()
 reset muon candidate
void setDTCSCIndex (unsigned int idxdtcsc)
 set index of contributing DT/CSC muon
void setFwdBit (unsigned int fwdbit)
 set forward bit (1=forward, 0=barrel)
void setRank (unsigned int rank)
 set rank
void setRPCBit (unsigned int rpcbit)
 set RPC bit (1=RPC, 0=DT/CSC or matched)
void setRPCIndex (unsigned int idxrpc)
 set index of contributing RPC muon
virtual ~L1MuGMTExtendedCand ()
 destructor

Private Types

enum  { IDXDTCSC_START = 26 }
enum  { IDXDTCSC_LENGTH = 2 }
enum  { IDXRPC_START = 28 }
enum  { IDXRPC_LENGTH = 2 }
enum  { FWDBIT_START = 30 }
enum  { FWDBIT_LENGTH = 1 }
enum  { ISRPCBIT_START = 31 }
enum  { ISRPCBIT_LENGTH = 1 }

Private Attributes

unsigned int m_rank

Friends

std::ostream & operator<< (std::ostream &, const L1MuGMTExtendedCand &)
 output stream operator

Detailed Description

L1 Global Muon Trigger Extended Candidate.

This is a GMT candidate with extended information that will be sent to Readout.

This candidates contains extra information such as sort rank and indices of the contributing muons.

Definition at line 49 of file L1MuGMTExtendedCand.h.


Member Enumeration Documentation

anonymous enum [private]
Enumerator:
IDXDTCSC_START 

Definition at line 151 of file L1MuGMTExtendedCand.h.

{ IDXDTCSC_START=26}; enum { IDXDTCSC_LENGTH = 2}; // Bit  26:27 DT/CSC muon index
anonymous enum [private]
Enumerator:
IDXDTCSC_LENGTH 

Definition at line 151 of file L1MuGMTExtendedCand.h.

{ IDXDTCSC_START=26}; enum { IDXDTCSC_LENGTH = 2}; // Bit  26:27 DT/CSC muon index
anonymous enum [private]
Enumerator:
IDXRPC_START 

Definition at line 152 of file L1MuGMTExtendedCand.h.

{ IDXRPC_START=28};   enum { IDXRPC_LENGTH = 2};   // Bit  28:29 RPC muon index
anonymous enum [private]
Enumerator:
IDXRPC_LENGTH 

Definition at line 152 of file L1MuGMTExtendedCand.h.

{ IDXRPC_START=28};   enum { IDXRPC_LENGTH = 2};   // Bit  28:29 RPC muon index
anonymous enum [private]
Enumerator:
FWDBIT_START 

Definition at line 153 of file L1MuGMTExtendedCand.h.

{ FWDBIT_START=30};   enum { FWDBIT_LENGTH = 1};   // Bit  30    fwd bit
anonymous enum [private]
Enumerator:
FWDBIT_LENGTH 

Definition at line 153 of file L1MuGMTExtendedCand.h.

{ FWDBIT_START=30};   enum { FWDBIT_LENGTH = 1};   // Bit  30    fwd bit
anonymous enum [private]
Enumerator:
ISRPCBIT_START 

Definition at line 154 of file L1MuGMTExtendedCand.h.

{ ISRPCBIT_START=31}; enum { ISRPCBIT_LENGTH = 1}; // Bit  31    isRPC bit
anonymous enum [private]
Enumerator:
ISRPCBIT_LENGTH 

Definition at line 154 of file L1MuGMTExtendedCand.h.

{ ISRPCBIT_START=31}; enum { ISRPCBIT_LENGTH = 1}; // Bit  31    isRPC bit

Constructor & Destructor Documentation

L1MuGMTExtendedCand::L1MuGMTExtendedCand ( )

constructor

Definition at line 49 of file L1MuGMTExtendedCand.cc.

                                         : L1MuGMTCand(), m_rank(0) {
}
L1MuGMTExtendedCand::L1MuGMTExtendedCand ( unsigned  data,
unsigned  rank,
int  bx = 0 
)

constructor

Definition at line 56 of file L1MuGMTExtendedCand.cc.

L1MuGMTExtendedCand::L1MuGMTExtendedCand ( const L1MuGMTExtendedCand mu)

copy constructor

Definition at line 52 of file L1MuGMTExtendedCand.cc.

                                                                      :
  L1MuGMTCand(mu), m_rank(mu.m_rank){
}
L1MuGMTExtendedCand::~L1MuGMTExtendedCand ( ) [virtual]

destructor

Definition at line 63 of file L1MuGMTExtendedCand.cc.

References reset().

                                          {

  reset();

}

Member Function Documentation

unsigned int L1MuGMTExtendedCand::detector ( ) const

get detector bits 1=rpc, 2=dtbx, 4=csc, 3=rpc+dtbx, 5=rpc+csc supported for backward compatibility only

Definition at line 91 of file L1MuGMTExtendedCand.cc.

References isFwd(), isRPC(), and L1MuGMTCand::quality().

                                                 {
  
  if (quality() == 7) // matched ?
    return isFwd() ? 5 : 3;
  else 
    return isRPC() ? 1 : ( isFwd()? 4 : 2); 

}
unsigned L1MuGMTExtendedCand::getDTCSCIndex ( ) const [inline]

get index of contributing DT/CSC muon

Definition at line 75 of file L1MuGMTExtendedCand.h.

References IDXDTCSC_LENGTH, IDXDTCSC_START, and L1MuGMTCand::readDataField().

Referenced by print(), and L2MuonSeedGenerator::produce().

unsigned L1MuGMTExtendedCand::getRPCIndex ( ) const [inline]

get index of contributing RPC muon

Definition at line 80 of file L1MuGMTExtendedCand.h.

References IDXRPC_LENGTH, IDXRPC_START, and L1MuGMTCand::readDataField().

Referenced by print(), and L2MuonSeedGenerator::produce().

bool L1MuGMTExtendedCand::isFwd ( ) const [inline]

get forward bit (true=forward, false=barrel)

Definition at line 85 of file L1MuGMTExtendedCand.h.

References FWDBIT_LENGTH, FWDBIT_START, and L1MuGMTCand::readDataField().

Referenced by detector(), l1extra::L1MuonParticle::L1MuonParticle(), print(), and L2MuonSeedGenerator::produce().

bool L1MuGMTExtendedCand::isRPC ( ) const [inline]

get RPC bit (true=RPC, false = DT/CSC or matched)

Definition at line 88 of file L1MuGMTExtendedCand.h.

References ISRPCBIT_LENGTH, ISRPCBIT_START, and L1MuGMTCand::readDataField().

Referenced by detector(), l1extra::L1MuonParticle::L1MuonParticle(), print(), and L2MuonSeedGenerator::produce().

bool L1MuGMTExtendedCand::operator!= ( const L1MuGMTExtendedCand cand) const

unequal operator

Definition at line 116 of file L1MuGMTExtendedCand.cc.

References m_rank.

                                                                          {

  if ( (L1MuGMTCand const&) *this != cand ) return true;  
  if ( m_rank  != cand.m_rank )             return true;
  return false;

}
bool L1MuGMTExtendedCand::operator== ( const L1MuGMTExtendedCand cand) const

equal operator

Definition at line 104 of file L1MuGMTExtendedCand.cc.

References m_rank.

                                                                          {

  if ( (L1MuGMTCand const&) *this != cand )   return false; 
  if ( m_rank                     != m_rank ) return false;
  return true;

}
void L1MuGMTExtendedCand::print ( void  ) const

print parameters of muon candidate

Reimplemented from L1MuGMTCand.

Reimplemented in SimpleL1MuGMTCand.

Definition at line 128 of file L1MuGMTExtendedCand.cc.

References L1MuGMTCand::empty(), getDTCSCIndex(), getRPCIndex(), isFwd(), isRPC(), and rank().

                                      {

  L1MuGMTCand::print();
  if ( !empty() ) {
    edm::LogVerbatim("GMT_Candidate_info")
         << setiosflags(ios::right | ios::adjustfield | ios::showpoint | ios::fixed)
         << "rank = " << setw(3) << rank() << "  " 
         << "idxdtcsc = " << setw(1) << getDTCSCIndex() << "  "
         << "idxrpc = " << setw(1) << getRPCIndex() << "  "
         << "isFwd = " << setw(1) << isFwd()  << "  "
         << "isRPC = " << setw(1) << isRPC() << endl;
   }

}
unsigned int L1MuGMTExtendedCand::rank ( ) const [inline]

get rank

Reimplemented in SimpleL1MuGMTCand.

Definition at line 72 of file L1MuGMTExtendedCand.h.

References m_rank.

Referenced by L1MuGMTExtendedCand::RankRef::operator()(), L1MuGMTExtendedCand::Rank::operator()(), print(), and setRank().

{ return m_rank; }
void L1MuGMTExtendedCand::reset ( void  )

reset muon candidate

Reimplemented from L1MuGMTCand.

Reimplemented in SimpleL1MuGMTCand.

Definition at line 77 of file L1MuGMTExtendedCand.cc.

References m_rank.

Referenced by ~L1MuGMTExtendedCand().

void L1MuGMTExtendedCand::setDTCSCIndex ( unsigned int  idxdtcsc) [inline]
void L1MuGMTExtendedCand::setFwdBit ( unsigned int  fwdbit) [inline]
void L1MuGMTExtendedCand::setRank ( unsigned int  rank) [inline]

set rank

Reimplemented in SimpleL1MuGMTCand.

Definition at line 91 of file L1MuGMTExtendedCand.h.

References m_rank, and rank().

Referenced by L1MuGMTMerger::createDTCSCCand(), L1MuGMTMerger::createMergedCand(), and L1MuGMTMerger::createRPCCand().

{ m_rank = rank; }
void L1MuGMTExtendedCand::setRPCBit ( unsigned int  rpcbit) [inline]
void L1MuGMTExtendedCand::setRPCIndex ( unsigned int  idxrpc) [inline]

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  ,
const L1MuGMTExtendedCand  
) [friend]

output stream operator


Member Data Documentation

unsigned int L1MuGMTExtendedCand::m_rank [private]

Reimplemented in SimpleL1MuGMTCand.

Definition at line 149 of file L1MuGMTExtendedCand.h.

Referenced by operator!=(), operator==(), rank(), reset(), and setRank().