Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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 L1MUDT_ETAPATTERN_LUT_H
0016 #define L1MUDT_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 
0036 //              ---------------------
0037 //              -- Class Interface --
0038 //              ---------------------
0039 
0040 class L1MuDTEtaPatternLut {
0041 public:
0042   typedef std::map<short, L1MuDTEtaPattern, std::less<short> > LUT;
0043   typedef LUT::const_iterator ETFLut_iter;
0044   typedef LUT::iterator ETFLut_Iter;
0045 
0046   /// constructor
0047   L1MuDTEtaPatternLut();
0048 
0049   /// destructor
0050   virtual ~L1MuDTEtaPatternLut();
0051 
0052   /// reset pattern look-up table
0053   void reset();
0054 
0055   /// load pattern look-up table
0056   int load();
0057 
0058   /// print pattern look-up table
0059   void print() const;
0060 
0061   /// get pattern with a given ID
0062   L1MuDTEtaPattern getPattern(int id) const;
0063 
0064   /// return number of entries in the LUT
0065   inline int size() const { return m_lut.size(); }
0066 
0067   /// return iterator which points to the first entry of the LUT
0068   inline ETFLut_iter begin() const { return m_lut.begin(); }
0069 
0070   /// return iterator which points to the one-past-last entry of the LUT
0071   inline ETFLut_iter end() const { return m_lut.end(); }
0072 
0073 public:
0074   LUT m_lut;
0075 
0076   COND_SERIALIZABLE;
0077 };
0078 
0079 #endif