Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:49

0001 //-------------------------------------------------
0002 //
0003 /**  \class L1MuDTEtaPatternLut
0004  *
0005  *   Look-up table for eta track finder
0006  *
0007  *
0008  *   $Date: 2007/03/30 07:48:02 $
0009  *   $Revision: 1.1 $
0010  *
0011  *   N. Neumeister            CERN EP
0012  */
0013 //
0014 //--------------------------------------------------
0015 #ifndef L1MUBMT_ETAPATTERN_LUT_H
0016 #define L1MUBMT_ETAPATTERN_LUT_H
0017 
0018 //---------------
0019 // C++ Headers --
0020 //---------------
0021 
0022 #include "CondFormats/Serialization/interface/Serializable.h"
0023 
0024 #include <map>
0025 
0026 //----------------------
0027 // Base Class Headers --
0028 //----------------------
0029 
0030 //------------------------------------
0031 // Collaborating Class Declarations --
0032 //------------------------------------
0033 
0034 #include "CondFormats/L1TObjects/interface/L1MuDTEtaPattern.h"
0035 #include "CondFormats/L1TObjects/interface/L1TriggerLutFile.h"
0036 
0037 //              ---------------------
0038 //              -- Class Interface --
0039 //              ---------------------
0040 
0041 class L1MuBMTEtaPatternLut {
0042 public:
0043   typedef std::map<short, L1MuDTEtaPattern, std::less<short> > LUT;
0044   typedef LUT::const_iterator ETFLut_iter;
0045   typedef LUT::iterator ETFLut_Iter;
0046 
0047   /// constructor
0048   L1MuBMTEtaPatternLut();
0049 
0050   /// destructor
0051   virtual ~L1MuBMTEtaPatternLut();
0052 
0053   /// reset pattern look-up table
0054   void reset();
0055 
0056   /// load pattern look-up table
0057   int load();
0058 
0059   /// print pattern look-up table
0060   void print() const;
0061 
0062   int getIgnoredLines(L1TriggerLutFile file) const;
0063 
0064   /// get pattern with a given ID
0065   L1MuDTEtaPattern getPattern(int id) const;
0066 
0067   /// return number of entries in the LUT
0068   inline int size() const { return m_lut.size(); }
0069 
0070   /// return iterator which points to the first entry of the LUT
0071   inline ETFLut_iter begin() const { return m_lut.begin(); }
0072 
0073   /// return iterator which points to the one-past-last entry of the LUT
0074   inline ETFLut_iter end() const { return m_lut.end(); }
0075 
0076 public:
0077   LUT m_lut;
0078 
0079   COND_SERIALIZABLE;
0080 };
0081 
0082 #endif