CMS 3D CMS Logo

AngleConverter.h
Go to the documentation of this file.
1 #ifndef ANGLECONVERTER_H
2 #define ANGLECONVERTER_H
3 
6 
8 
9 #include <memory>
10 
11 namespace edm {
12  class EventSetup;
13 }
14 
15 class RPCGeometry;
16 class CSCGeometry;
17 class CSCLayer;
18 class DTGeometry;
19 
20 class L1MuDTChambPhDigi;
23 class RPCDigi;
24 class CSCDetId;
25 class RPCDetId;
26 
28  public:
30  ~AngleConverter();
31 
33  void checkAndUpdateGeometry(const edm::EventSetup&, unsigned int);
34 
37  int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const L1MuDTChambPhDigi &digi) const;
38  int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const CSCDetId & csc, const CSCCorrelatedLCTDigi &digi) const;
39  int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const RPCDetId & rollId, const unsigned int &digi) const;
40  int getProcessorPhi(unsigned int iProcessor, l1t::tftype part, const RPCDetId & rollId, const unsigned int &digi1, const unsigned int &digi2) const;
41 
43  int getGlobalEta(unsigned int rawid, const L1MuDTChambPhDigi &aDigi,
44  const L1MuDTChambThContainer *dtThDigis);
45 
47  int getGlobalEta(unsigned int rawid, const CSCCorrelatedLCTDigi &aDigi);
48 
50  int getGlobalEta(unsigned int rawid, const unsigned int &aDigi);
51 
52  private:
53 
55  bool isCSCCounterClockwise(const std::unique_ptr<const CSCLayer>& layer) const;
56 
57 
59  const int findBTIgroup(const L1MuDTChambPhDigi &aDigi,
60  const L1MuDTChambThContainer *dtThDigis);
61 
62  // pointers to the current geometry records
63  unsigned long long _geom_cache_id;
67 
69  unsigned int nPhiBins;
70 
71  };
72 
73 #endif
unsigned long long _geom_cache_id
Definition: L1Track.h:19
unsigned int nPhiBins
Number of phi bins along 2Pi.
part
Definition: HCALResponse.h:20
HLT enums.
edm::ESHandle< CSCGeometry > _geocsc
edm::ESHandle< RPCGeometry > _georpc
edm::ESHandle< DTGeometry > _geodt