CMS 3D CMS Logo

L1MuGMTMIAUEtaConvLUT Class Reference

MIAUEtaConv look-up table. More...

#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTMIAUEtaConvLUT.h>

Inheritance diagram for L1MuGMTMIAUEtaConvLUT:

L1MuGMTLUT

List of all members.

Public Types

enum  {
  MIP_DT, MIP_BRPC, ISO_DT, ISO_BRPC,
  MIP_CSC, MIP_FRPC, ISO_CSC, ISO_FRPC
}

Public Member Functions

 L1MuGMTMIAUEtaConvLUT ()
 constuctor using function-lookup
virtual unsigned LookupFunctionPacked (int idx, unsigned address) const
 access to lookup function with packed input and output
unsigned SpecificLookup (int idx, unsigned eta_in) const
 specific lookup function for entire output field
unsigned SpecificLookup_eta_out (int idx, unsigned eta_in) const
 specific lookup function for eta_out
virtual ~L1MuGMTMIAUEtaConvLUT ()
 destructor

Private Member Functions

void InitParameters ()
 Initialize scales, configuration parameters, alignment constants, ...
unsigned TheLookupFunction (int idx, unsigned eta_in) const
 The lookup function - here the functionality of the LUT is implemented.


Detailed Description

MIAUEtaConv look-up table.

this class was automatically generated by L1MuGMTLUT::MakeSubClass()

Definition at line 42 of file L1MuGMTMIAUEtaConvLUT.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
MIP_DT 
MIP_BRPC 
ISO_DT 
ISO_BRPC 
MIP_CSC 
MIP_FRPC 
ISO_CSC 
ISO_FRPC 

Definition at line 45 of file L1MuGMTMIAUEtaConvLUT.h.


Constructor & Destructor Documentation

L1MuGMTMIAUEtaConvLUT::L1MuGMTMIAUEtaConvLUT (  )  [inline]

constuctor using function-lookup

Definition at line 48 of file L1MuGMTMIAUEtaConvLUT.h.

References InitParameters().

00048                           : L1MuGMTLUT("MIAUEtaConv", 
00049                                        "MIP_DT MIP_BRPC ISO_DT ISO_BRPC MIP_CSC MIP_FRPC ISO_CSC ISO_FRPC",
00050                                        "eta_in(6)",
00051                                        "eta_out(4)", 6, true) {
00052     InitParameters();
00053   } ;

virtual L1MuGMTMIAUEtaConvLUT::~L1MuGMTMIAUEtaConvLUT (  )  [inline, virtual]

destructor

Definition at line 56 of file L1MuGMTMIAUEtaConvLUT.h.

00056 {};


Member Function Documentation

void L1MuGMTMIAUEtaConvLUT::InitParameters (  )  [private]

Initialize scales, configuration parameters, alignment constants, ...

Definition at line 38 of file L1MuGMTMIAUEtaConvLUT.cc.

Referenced by L1MuGMTMIAUEtaConvLUT().

00038                                            {
00039 }

virtual unsigned L1MuGMTMIAUEtaConvLUT::LookupFunctionPacked ( int  idx,
unsigned  address 
) const [inline, virtual]

access to lookup function with packed input and output

Reimplemented from L1MuGMTLUT.

Definition at line 76 of file L1MuGMTMIAUEtaConvLUT.h.

References addr, L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().

00076                                                                           {
00077     std::vector<unsigned> addr = u2vec(address, m_Inputs);
00078     return TheLookupFunction(idx ,addr[0]);
00079 
00080   };

unsigned L1MuGMTMIAUEtaConvLUT::SpecificLookup ( int  idx,
unsigned  eta_in 
) const [inline]

specific lookup function for entire output field

Definition at line 66 of file L1MuGMTMIAUEtaConvLUT.h.

References addr, and L1MuGMTLUT::LookupPacked().

00066                                                            {
00067     std::vector<unsigned> addr(1);
00068     addr[0] = eta_in;
00069     return LookupPacked(idx, addr);
00070   };

unsigned L1MuGMTMIAUEtaConvLUT::SpecificLookup_eta_out ( int  idx,
unsigned  eta_in 
) const [inline]

specific lookup function for eta_out

Definition at line 59 of file L1MuGMTMIAUEtaConvLUT.h.

References addr, and L1MuGMTLUT::Lookup().

Referenced by L1MuGMTPhiProjectionUnit::run().

00059                                                                    {
00060     std::vector<unsigned> addr(1);
00061     addr[0] = eta_in;
00062     return Lookup(idx, addr) [0];
00063   };

unsigned L1MuGMTMIAUEtaConvLUT::TheLookupFunction ( int  idx,
unsigned  eta_in 
) const [private]

The lookup function - here the functionality of the LUT is implemented.

Definition at line 56 of file L1MuGMTMIAUEtaConvLUT.cc.

References L1MuScale::getCenter(), L1MuGMTConfig::getGMTScales(), L1MuScale::getPacked(), L1MuGMTScales::getReducedEtaScale(), L1MuTriggerScales::getRegionalEtaScale(), L1MuScale::getScaleMax(), L1MuScale::getScaleMin(), L1MuGMTConfig::getTriggerScales(), and L1MuGMTLUT::m_saveFlag.

Referenced by LookupFunctionPacked().

00056                                                                                  {
00057   // idx is MIP_DT, MIP_BRPC, ISO_DT, ISO_BRPC, MIP_CSC, MIP_FRPC, ISO_CSC, ISO_FRPC
00058   // INPUTS:  eta_in(6)
00059   // OUTPUTS: eta_out(4) 
00060 
00061   const L1MuGMTScales* theGMTScales = L1MuGMTConfig::getGMTScales();
00062   const L1MuTriggerScales* theTriggerScales = L1MuGMTConfig::getTriggerScales();
00063 
00064   int isRPC = idx % 2;
00065   int isFWD = idx / 4;
00066 
00067   int idx_drcr = isFWD * 2 + isRPC;
00068   
00069   float etaValue = theTriggerScales->getRegionalEtaScale(idx_drcr)->getCenter( eta_in );
00070 
00071   unsigned eta4bit = 0;
00072   if ( (isRPC && isFWD && fabs(etaValue) < theGMTScales->getReducedEtaScale(3)->getScaleMin() ) ||
00073        (isRPC && !isFWD && fabs(etaValue) > theGMTScales->getReducedEtaScale(1)->getScaleMax() )) {
00074     if(!m_saveFlag) edm::LogWarning("LUTRangeViolation") 
00075        << "L1MuGMTMIAUEtaConvLUT::TheLookupFunction: RPC " << (isFWD?"fwd":"brl") << " eta value out of range: " << etaValue;
00076   }
00077   else 
00078     eta4bit = theGMTScales->getReducedEtaScale(idx_drcr)->getPacked( etaValue );
00079 
00080   return eta4bit;
00081 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:55 2009 for CMSSW by  doxygen 1.5.4