CMS 3D CMS Logo

AngleConverter.h
Go to the documentation of this file.
1 #ifndef ANGLECONVERTER_H
2 #define ANGLECONVERTER_H
3 
7 
9 
14 
15 #include <memory>
16 
17 class CSCLayer;
18 
19 class L1MuDTChambPhDigi;
22 class RPCDigi;
23 class CSCDetId;
24 class RPCDetId;
25 
27 public:
28  AngleConverter(edm::ConsumesCollector &, bool getDuringEvent = true);
30 
32  void checkAndUpdateGeometry(const edm::EventSetup &, unsigned int);
33 
36  int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const L1MuDTChambPhDigi &digi) const;
37  int getProcessorPhi(unsigned int iProcessor,
39  const CSCDetId &csc,
40  const CSCCorrelatedLCTDigi &digi) const;
41  int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const RPCDetId &rollId, const unsigned int &digi) const;
42  int getProcessorPhi(unsigned int iProcessor,
44  const RPCDetId &rollId,
45  const unsigned int &digi1,
46  const unsigned int &digi2) const;
47 
49  int getGlobalEta(unsigned int rawid, const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis);
50 
52  int getGlobalEta(unsigned int rawid, const CSCCorrelatedLCTDigi &aDigi);
53 
55  int getGlobalEta(unsigned int rawid, const unsigned int &aDigi);
56 
57 private:
59  bool isCSCCounterClockwise(const std::unique_ptr<const CSCLayer> &layer) const;
60 
62  const int findBTIgroup(const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis);
63 
67 
68  // pointers to the current geometry records
69  unsigned long long _geom_cache_id;
73 
75  unsigned int nPhiBins;
76 };
77 
78 #endif
AngleConverter(edm::ConsumesCollector &, bool getDuringEvent=true)
CSCGeometry const * _geocsc
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeometryToken_
int getGlobalEta(unsigned int rawid, const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis)
Convert local eta coordinate to global digital microGMT scale.
unsigned long long _geom_cache_id
constexpr std::array< uint8_t, layerIndexSize< TrackerTraits > > layer
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscGeometryToken_
DTGeometry const * _geodt
int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const L1MuDTChambPhDigi &digi) const
const int findBTIgroup(const L1MuDTChambPhDigi &aDigi, const L1MuDTChambThContainer *dtThDigis)
Find BTI group.
Definition: L1Track.h:19
RPCGeometry const * _georpc
unsigned int nPhiBins
Number of phi bins along 2Pi.
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeometryToken_
part
Definition: HCALResponse.h:20
void checkAndUpdateGeometry(const edm::EventSetup &, unsigned int)
Update the Geometry with current Event Setup.
bool isCSCCounterClockwise(const std::unique_ptr< const CSCLayer > &layer) const
Check orientation of strips in given CSC chamber.