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
00028
00029
00030 #include <utility>
00031 #include <map>
00032 #include <bitset>
00033
00034
00035
00036
00037
00038 #include "L1Trigger/DTTrackFinder/interface/L1AbstractProcessor.h"
00039
00040
00041
00042
00043
00044 #include "CondFormats/L1TObjects/interface/L1MuDTExtParam.h"
00045 #include <FWCore/Framework/interface/ESHandle.h>
00046 class L1MuDTSectorProcessor;
00047 class L1MuDTSEU;
00048 class L1MuDTTFParameters;
00049
00050
00051
00052
00053
00054 class L1MuDTExtrapolationUnit : public L1AbstractProcessor {
00055
00056 public:
00057
00058 typedef std::pair<Extrapolation, unsigned int> SEUId;
00059 typedef std::map<SEUId, L1MuDTSEU*, std::less<SEUId> > SEUmap;
00060
00062 L1MuDTExtrapolationUnit(const L1MuDTSectorProcessor& );
00063
00065 virtual ~L1MuDTExtrapolationUnit();
00066
00068 virtual void run(const edm::EventSetup& c);
00069
00071 virtual void reset();
00072
00074 void reset(Extrapolation ext, unsigned int startAdr, unsigned int relAdr );
00075
00077 unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const;
00078
00080 unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const;
00081
00083 const std::bitset<12>& getEXTable(Extrapolation ext, unsigned int startAdr) const;
00084
00086 const std::bitset<12>& getQSTable(Extrapolation ext, unsigned int startAdr) const;
00087
00089 int numberOfExt() const;
00090
00092 void print(int level=0) const;
00093
00095 static std::pair<int,int> which_ext(Extrapolation ext);
00096
00097 private:
00098
00099 const L1MuDTSectorProcessor& m_sp;
00100
00101 mutable SEUmap m_SEUs;
00102
00103 edm::ESHandle< L1MuDTTFParameters > pars;
00104
00105 };
00106
00107 #endif