CMS 3D CMS Logo

Public Member Functions | Private Attributes

L1MuDTERS Class Reference

#include <L1MuDTERS.h>

Inheritance diagram for L1MuDTERS:
L1AbstractProcessor

List of all members.

Public Member Functions

unsigned short int address (int id) const
 return extrapolation address; (address = 15 indicates negative ext. result)
 L1MuDTERS (const L1MuDTSEU &)
 constructor
unsigned int quality (int id) const
 return extrapolation quality
virtual void reset ()
 reset ERS
virtual void run ()
 run L1MuDTERS
std::pair< const
L1MuDTTrackSegPhi *, const
L1MuDTTrackSegPhi * > 
ts (int id) const
 return pointer to start and target track segment
virtual ~L1MuDTERS ()
 destructor

Private Attributes

unsigned short int m_address [2]
unsigned short int m_quality [2]
const L1MuDTSEUm_seu
const L1MuDTTrackSegPhim_start [2]
const L1MuDTTrackSegPhim_target [2]

Detailed Description

Extrapolation Result Selector (Quality Sorter Unit):

selects the 2 best (highest target quality) out of the 12 (6) extrapolations performed per start track segment

Date:
2007/03/30 09:05:31
Revision:
1.3

N. Neumeister CERN EP

Definition at line 45 of file L1MuDTERS.h.


Constructor & Destructor Documentation

L1MuDTERS::L1MuDTERS ( const L1MuDTSEU seu)

constructor

Definition at line 48 of file L1MuDTERS.cc.

References reset().

                                         : m_seu(seu) {

  reset();

}
L1MuDTERS::~L1MuDTERS ( ) [virtual]

destructor

Definition at line 59 of file L1MuDTERS.cc.

{}

Member Function Documentation

unsigned short int L1MuDTERS::address ( int  id) const [inline]

return extrapolation address; (address = 15 indicates negative ext. result)

Definition at line 65 of file L1MuDTERS.h.

References m_address.

{ return m_address[id]; }
unsigned int L1MuDTERS::quality ( int  id) const [inline]

return extrapolation quality

Definition at line 62 of file L1MuDTERS.h.

References m_quality.

{ return m_quality[id]; }
void L1MuDTERS::reset ( void  ) [virtual]

reset ERS

Implements L1AbstractProcessor.

Definition at line 109 of file L1MuDTERS.cc.

References m_address, m_quality, m_start, and m_target.

Referenced by L1MuDTERS(), and L1MuDTSEU::reset().

                      {

  for ( int id  = 0; id < 2; id++ ) {
    m_quality[id] = 0; 
    m_address[id] = 15;                                            
    m_start[id]   = 0;
    m_target[id]  = 0;  
  }

}
void L1MuDTERS::run ( void  ) [virtual]

run L1MuDTERS

Reimplemented from L1AbstractProcessor.

Definition at line 69 of file L1MuDTERS.cc.

References gather_cfg::cout, L1MuDTTFConfig::Debug(), L1MuDTSEU::eux(), first, prof2calltree::last, m_address, m_quality, m_seu, m_start, m_target, and L1MuDTSEU::numberOfExt().

Referenced by L1MuDTSEU::run().

                    {

  int n_ext = m_seu.numberOfExt();
  if ( n_ext > 0 ) {
    vector<L1MuDTEUX*>::const_iterator first = m_seu.eux().begin();
    vector<L1MuDTEUX*>::const_iterator last  = m_seu.eux().end();
    vector<L1MuDTEUX*>::const_iterator first_max;
    vector<L1MuDTEUX*>::const_iterator second_max;

    // find the best extrapolation
    first_max  = max_element(first, last, L1MuDTEUX::EUX_Comp() );
    m_address[0] = (*first_max)->address();
    m_quality[0] = (*first_max)->quality();
    m_start[0]   = (*first_max)->ts().first;
    m_target[0]  = (*first_max)->ts().second;


    if ( n_ext > 1 ) {
      // find the second best extrapolation 
      second_max = max_element(first, last, L1MuDTEUX::EUX_Comp(*first_max) );
      m_address[1] =  (*second_max)->address();
      m_quality[1] =  (*second_max)->quality();
      m_start[1]   =  (*second_max)->ts().first;
      m_target[1]  =  (*second_max)->ts().second;
    }

    if ( L1MuDTTFConfig::Debug(4) ) {
      cout << "ERS : " << endl;
      cout << "\t first  : " << m_address[0] << '\t' << m_quality[0] << endl;
      cout << "\t second : " << m_address[1] << '\t' << m_quality[1] << endl;
    }

  }

}
pair< const L1MuDTTrackSegPhi *, const L1MuDTTrackSegPhi * > L1MuDTERS::ts ( int  id) const

return pointer to start and target track segment

Definition at line 124 of file L1MuDTERS.cc.

References m_start, and m_target.


Member Data Documentation

unsigned short int L1MuDTERS::m_address[2] [private]

Definition at line 75 of file L1MuDTERS.h.

Referenced by address(), reset(), and run().

unsigned short int L1MuDTERS::m_quality[2] [private]

Definition at line 74 of file L1MuDTERS.h.

Referenced by quality(), reset(), and run().

const L1MuDTSEU& L1MuDTERS::m_seu [private]

Definition at line 72 of file L1MuDTERS.h.

Referenced by run().

Definition at line 77 of file L1MuDTERS.h.

Referenced by reset(), run(), and ts().

Definition at line 78 of file L1MuDTERS.h.

Referenced by reset(), run(), and ts().