CMS 3D CMS Logo

L1MuDTExtrapolationUnit.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00021 //
00022 //--------------------------------------------------
00023 #ifndef L1MUDT_EXTRAPOLATION_UNIT_H
00024 #define L1MUDT_EXTRAPOLATION_UNIT_H
00025 
00026 //---------------
00027 // C++ Headers --
00028 //---------------
00029 
00030 #include <utility>
00031 #include <map>
00032 #include <bitset>
00033 
00034 //----------------------
00035 // Base Class Headers --
00036 //----------------------
00037 
00038 #include "L1Trigger/DTTrackFinder/interface/L1AbstractProcessor.h"
00039 
00040 //------------------------------------
00041 // Collaborating Class Declarations --
00042 //------------------------------------
00043 
00044 #include "CondFormats/L1TObjects/interface/L1MuDTExtParam.h"
00045 class L1MuDTSectorProcessor;
00046 class L1MuDTSEU;
00047 
00048 //              ---------------------
00049 //              -- Class Interface --
00050 //              ---------------------
00051 
00052 class L1MuDTExtrapolationUnit : public L1AbstractProcessor {
00053 
00054   public:
00055 
00056     typedef std::pair<Extrapolation, unsigned int> SEUId;
00057     typedef std::map<SEUId, L1MuDTSEU*, std::less<SEUId> > SEUmap;
00058 
00060     L1MuDTExtrapolationUnit(const L1MuDTSectorProcessor& );
00061 
00063     virtual ~L1MuDTExtrapolationUnit();
00064 
00066     virtual void run(const edm::EventSetup& c);
00067     
00069     virtual void reset();
00070 
00072     void reset(Extrapolation ext, unsigned int startAdr, unsigned int relAdr );
00073  
00075     unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const;
00076     
00078     unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const;
00079 
00081     const std::bitset<12>& getEXTable(Extrapolation ext, unsigned int startAdr) const;
00082 
00084     const std::bitset<12>& getQSTable(Extrapolation ext, unsigned int startAdr) const;
00085         
00087     int numberOfExt() const;
00088     
00090     void print(int level=0) const;
00091     
00093     static std::pair<int,int> which_ext(Extrapolation ext);
00094 
00095   private:
00096 
00097     const L1MuDTSectorProcessor& m_sp;   // reference to Sector Processor
00098 
00099     mutable SEUmap m_SEUs;               // Single Extrapolation Units
00100  
00101 };
00102 
00103 #endif

Generated on Tue Jun 9 17:40:01 2009 for CMSSW by  doxygen 1.5.4