CMS 3D CMS Logo

L1MuGMTRegMMConfig Class Reference

GMT Register that implements enum of merge methods. More...

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

Inheritance diagram for L1MuGMTRegMMConfig:

L1MuGMTReg L1MuGMTRegMMConfigCharge L1MuGMTRegMMConfigEta L1MuGMTRegMMConfigMIPISO L1MuGMTRegMMConfigPhi L1MuGMTRegMMConfigPt L1MuGMTRegMMConfigSRK L1MuGMTRegMMConfigISO L1MuGMTRegMMConfigMIP

List of all members.

Public Types

enum  MergeMethods {
  takeDTCSC, takeRPC, byRank, byMinPt,
  byCombi, Special
}

Public Member Functions

virtual std::string getName ()
 get Name
 L1MuGMTRegMMConfig (const std::string &param, MergeMethods def_brl, MergeMethods def_fwd)
void setMergeMethod ()
virtual ~L1MuGMTRegMMConfig ()

Protected Attributes

MergeMethods m_default [2]
std::string m_param


Detailed Description

GMT Register that implements enum of merge methods.

Definition at line 75 of file L1MuGMTReg.h.


Member Enumeration Documentation

enum L1MuGMTRegMMConfig::MergeMethods

Enumerator:
takeDTCSC 
takeRPC 
byRank 
byMinPt 
byCombi 
Special 

Definition at line 78 of file L1MuGMTReg.h.


Constructor & Destructor Documentation

L1MuGMTRegMMConfig::L1MuGMTRegMMConfig ( const std::string &  param,
MergeMethods  def_brl,
MergeMethods  def_fwd 
) [inline]

Definition at line 81 of file L1MuGMTReg.h.

References m_default, and setMergeMethod().

00081                                                                                          :
00082     m_param(param) { 
00083     m_default[0] = def_brl;
00084     m_default[1] = def_fwd;
00085     setMergeMethod(); 
00086   };

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

Definition at line 89 of file L1MuGMTReg.h.

00089 {};


Member Function Documentation

virtual std::string L1MuGMTRegMMConfig::getName (  )  [inline, virtual]

get Name

Implements L1MuGMTReg.

Definition at line 92 of file L1MuGMTReg.h.

References m_param.

00092 { return "MMConfig_" + m_param; };

void L1MuGMTRegMMConfig::setMergeMethod (  )  [inline]

Definition at line 95 of file L1MuGMTReg.h.

References byCombi, byMinPt, byRank, L1MuGMTConfig::Debug(), L1MuGMTConfig::getGMTParams(), L1MuGMTParameters::getMergeMethodChargeBrl(), L1MuGMTParameters::getMergeMethodChargeFwd(), L1MuGMTParameters::getMergeMethodEtaBrl(), L1MuGMTParameters::getMergeMethodEtaFwd(), L1MuGMTParameters::getMergeMethodPhiBrl(), L1MuGMTParameters::getMergeMethodPhiFwd(), L1MuGMTParameters::getMergeMethodPtBrl(), L1MuGMTParameters::getMergeMethodPtFwd(), int, m_default, m_param, L1MuGMTReg::m_value, Special, takeDTCSC, and takeRPC.

Referenced by L1MuGMTRegMMConfig().

00095                         {
00096     static MergeMethods avlMethods[6] = { takeDTCSC, takeRPC, byRank, byMinPt, byCombi, Special };
00097     std::string mn[6] = { "takeDT", "takeRPC", "byRank", "byMinPt", "byCombi", "Special" };
00098     
00099     MergeMethods mm;
00100     std::string mm_str;
00101 
00102     mm = m_default[0];
00103     if(m_param=="Phi")         mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodPhiBrl();
00104     else if(m_param=="Eta")    mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodEtaBrl();
00105     else if(m_param=="Pt")     mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodPtBrl();
00106     else if(m_param=="Charge") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodChargeBrl();
00107     for(int ii=0; ii<6; ii++) if(mm_str == mn[ii]) {mm = avlMethods[ii]; break;}
00108     m_value[0] = 1 << (5-(int) MergeMethods(mm));
00109     if ( L1MuGMTConfig::Debug(1) ) edm::LogVerbatim("GMT_Register_Info") << " "
00110                       << "MergeMethod" << m_param << "Brl"
00111                       << " is " << mm
00112                       << "( value " << m_value[0] << " )";
00113     
00114     mm = m_default[1];
00115     mn[0] = "takeCSC";
00116     if(m_param=="Phi")         mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodPhiFwd();
00117     else if(m_param=="Eta")    mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodEtaFwd();
00118     else if(m_param=="Pt")     mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodPtFwd();
00119     else if(m_param=="Charge") mm_str = L1MuGMTConfig::getGMTParams()->getMergeMethodChargeFwd();
00120     for(int ii=0; ii<6; ii++) if(mm_str == mn[ii]) {mm = avlMethods[ii]; break;}
00121     m_value[1] = 1 << (5-(int) MergeMethods(mm));
00122     if ( L1MuGMTConfig::Debug(1) ) edm::LogVerbatim("GMT_Register_Info") << " "
00123                       << "MergeMethod" << m_param << "Fwd"
00124                       << " is " << mm
00125                       << "( value " << m_value[1] << " )";
00126     
00127     
00128   };


Member Data Documentation

MergeMethods L1MuGMTRegMMConfig::m_default[2] [protected]

Definition at line 132 of file L1MuGMTReg.h.

Referenced by L1MuGMTRegMMConfig(), and setMergeMethod().

std::string L1MuGMTRegMMConfig::m_param [protected]

Definition at line 128 of file L1MuGMTReg.h.

Referenced by getName(), L1MuGMTRegMMConfigMIPISO::L1MuGMTRegMMConfigMIPISO(), and setMergeMethod().


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