File indexing completed on 2024-04-06 12:20:50
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef L1MUBM_EXTRAPOLATION_UNIT_H
0022 #define L1MUBM_EXTRAPOLATION_UNIT_H
0023
0024
0025
0026
0027
0028 #include <utility>
0029 #include <map>
0030 #include <bitset>
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 #include "CondFormats/L1TObjects/interface/L1MuDTExtParam.h"
0041 #include "CondFormats/L1TObjects/interface/L1TMuonBarrelParams.h"
0042 #include "CondFormats/DataRecord/interface/L1TMuonBarrelParamsRcd.h"
0043 #include "FWCore/Framework/interface/ConsumesCollector.h"
0044 #include "FWCore/Framework/interface/EventSetup.h"
0045 class L1MuBMSectorProcessor;
0046 class L1MuBMSEU;
0047 class L1MuDTTFParameters;
0048
0049
0050
0051
0052
0053 class L1MuBMExtrapolationUnit {
0054 public:
0055 typedef std::pair<Extrapolation, unsigned int> SEUId;
0056 typedef std::map<SEUId, L1MuBMSEU*, std::less<SEUId> > SEUmap;
0057
0058
0059 L1MuBMExtrapolationUnit(const L1MuBMSectorProcessor&, edm::ConsumesCollector iC);
0060
0061
0062 ~L1MuBMExtrapolationUnit();
0063
0064
0065 void run(const edm::EventSetup& c);
0066
0067
0068 void reset();
0069
0070
0071 void reset(Extrapolation ext, unsigned int startAdr, unsigned int relAdr);
0072
0073
0074 unsigned short int getAddress(Extrapolation ext, unsigned int startAdr, int id) const;
0075
0076
0077 unsigned short int getQuality(Extrapolation ext, unsigned int startAdr, int id) const;
0078
0079
0080 const std::bitset<12>& getEXTable(Extrapolation ext, unsigned int startAdr) const;
0081
0082
0083 const std::bitset<12>& getQSTable(Extrapolation ext, unsigned int startAdr) const;
0084
0085
0086 int numberOfExt() const;
0087
0088
0089 void print(int level = 0) const;
0090
0091
0092 static std::pair<int, int> which_ext(Extrapolation ext);
0093
0094 private:
0095 const L1MuBMSectorProcessor& m_sp;
0096
0097 mutable SEUmap m_SEUs;
0098
0099 edm::ESGetToken<L1TMuonBarrelParams, L1TMuonBarrelParamsRcd> m_paramsToken;
0100 L1MuDTTFParameters pars;
0101 };
0102
0103 #endif