CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Friends
L1MuBMSecProcId Class Reference

#include <L1MuBMSecProcId.h>

Public Member Functions

 L1MuBMSecProcId ()
 default constructor More...
 
 L1MuBMSecProcId (int wheel_id, int sector_id)
 constructor More...
 
 L1MuBMSecProcId (const L1MuBMSecProcId &)
 copy constructor More...
 
int locwheel () const
 return physical wheel number (-2,-1,0,+1,+2) More...
 
bool operator!= (const L1MuBMSecProcId &) const
 unequal operator More...
 
bool operator< (const L1MuBMSecProcId &) const
 less operator More...
 
L1MuBMSecProcIdoperator= (const L1MuBMSecProcId &)
 assignment operator More...
 
bool operator== (const L1MuBMSecProcId &) const
 equal operator More...
 
bool ovl () const
 is it an overlap region Sector Processor? More...
 
int sector () const
 return sector number More...
 
int wheel () const
 return wheel number More...
 
virtual ~L1MuBMSecProcId ()
 destructor More...
 

Private Attributes

int m_sector
 
int m_wheel
 

Friends

std::ostream & operator<< (std::ostream &, const L1MuBMSecProcId &)
 output stream operator More...
 

Detailed Description

Sector Processor identifier:

There are 6 sector processors along the eta direction numbered: -3 -2 -1 +1 +2 +3 (= wheel)
and 12 sector processors along the phi direction [0,11].
This is necessary because wheel 0 needs two sector processors

N. Neumeister CERN EP

Definition at line 40 of file L1MuBMSecProcId.h.

Constructor & Destructor Documentation

◆ L1MuBMSecProcId() [1/3]

L1MuBMSecProcId::L1MuBMSecProcId ( )

default constructor

Definition at line 42 of file L1MuBMSecProcId.cc.

◆ L1MuBMSecProcId() [2/3]

L1MuBMSecProcId::L1MuBMSecProcId ( int  wheel_id,
int  sector_id 
)

constructor

Definition at line 44 of file L1MuBMSecProcId.cc.

44  : m_wheel(wheel_id), m_sector(sector_id) {
45  if (!(wheel_id >= -3 && wheel_id <= 3)) {
46  // cerr << "SecProcId : wheel out of range: " << wheel_id << endl;
47  }
48  if (!(sector_id >= 0 && sector_id < 12)) {
49  // cerr << "SecProcId : sector out of range: " << sector_id << endl;
50  }
51 }

◆ L1MuBMSecProcId() [3/3]

L1MuBMSecProcId::L1MuBMSecProcId ( const L1MuBMSecProcId id)

copy constructor

Definition at line 53 of file L1MuBMSecProcId.cc.

◆ ~L1MuBMSecProcId()

L1MuBMSecProcId::~L1MuBMSecProcId ( )
virtual

destructor

Definition at line 59 of file L1MuBMSecProcId.cc.

59 {}

Member Function Documentation

◆ locwheel()

int L1MuBMSecProcId::locwheel ( ) const

return physical wheel number (-2,-1,0,+1,+2)

Definition at line 79 of file L1MuBMSecProcId.cc.

References funct::abs(), and m_wheel.

Referenced by L1MuBMSectorReceiver::address2wheel().

79 { return (m_wheel / abs(m_wheel) * (abs(m_wheel) - 1)); }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

◆ operator!=()

bool L1MuBMSecProcId::operator!= ( const L1MuBMSecProcId id) const

unequal operator

Definition at line 95 of file L1MuBMSecProcId.cc.

References m_sector, m_wheel, sector(), and wheel().

95  {
96  if (m_wheel != id.wheel())
97  return true;
98  if (m_sector != id.sector())
99  return true;
100  return false;
101 }
int wheel() const
return wheel number
int sector() const
return sector number

◆ operator<()

bool L1MuBMSecProcId::operator< ( const L1MuBMSecProcId id) const

less operator

Definition at line 106 of file L1MuBMSecProcId.cc.

References sector(), and wheel().

106  {
107  if (sector() < id.sector())
108  return true;
109  if (sector() > id.sector())
110  return false;
111  if (wheel() < 0 && id.wheel() < 0) {
112  if (-wheel() < -id.wheel())
113  return true;
114  } else {
115  if (wheel() < id.wheel())
116  return true;
117  }
118  return false;
119 }
int wheel() const
return wheel number
int sector() const
return sector number

◆ operator=()

L1MuBMSecProcId & L1MuBMSecProcId::operator= ( const L1MuBMSecProcId id)

assignment operator

Definition at line 68 of file L1MuBMSecProcId.cc.

References m_sector, and m_wheel.

68  {
69  if (this != &id) {
70  m_wheel = id.m_wheel;
71  m_sector = id.m_sector;
72  }
73  return *this;
74 }

◆ operator==()

bool L1MuBMSecProcId::operator== ( const L1MuBMSecProcId id) const

equal operator

Definition at line 84 of file L1MuBMSecProcId.cc.

References sector(), and wheel().

84  {
85  if (wheel() != id.wheel())
86  return false;
87  if (sector() != id.sector())
88  return false;
89  return true;
90 }
int wheel() const
return wheel number
int sector() const
return sector number

◆ ovl()

bool L1MuBMSecProcId::ovl ( ) const
inline

is it an overlap region Sector Processor?

Definition at line 61 of file L1MuBMSecProcId.h.

References funct::abs(), m_wheel, and funct::true.

Referenced by L1MuBMSectorProcessor::brl(), and L1MuBMSectorProcessor::ovl().

61 { return (abs(m_wheel) == 3) ? true : false; }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22

◆ sector()

int L1MuBMSecProcId::sector ( ) const
inline

◆ wheel()

int L1MuBMSecProcId::wheel ( ) const
inline

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  ,
const L1MuBMSecProcId  
)
friend

output stream operator

Member Data Documentation

◆ m_sector

int L1MuBMSecProcId::m_sector
private

Definition at line 83 of file L1MuBMSecProcId.h.

Referenced by operator!=(), operator=(), and sector().

◆ m_wheel

int L1MuBMSecProcId::m_wheel
private

Definition at line 82 of file L1MuBMSecProcId.h.

Referenced by locwheel(), operator!=(), operator=(), ovl(), and wheel().