CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
CSCSectorReceiverLUT.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCSectorReceiverLUT_h
2 #define L1Trigger_CSCSectorReceiverLUT_h
3 
16 
17 class CSCLayer;
18 
20 public:
21  CSCSectorReceiverLUT(int endcap, int sector, int subsector, int station, const edm::ParameterSet& pset, bool TMB07);
24 
26 
28 
31  lclphidat localPhi(int strip, int pattern, int quality, int lr, const bool gangedME1a = false) const;
32  lclphidat localPhi(unsigned address, const bool gangedME1a = false) const;
33  lclphidat localPhi(lclphiadd address, const bool gangedME1a = false) const;
34 
35  gblphidat globalPhiME(int phi_local, int wire_group, int cscid, const bool gangedME1a = false) const;
36  gblphidat globalPhiME(unsigned address, const bool gangedME1a = false) const;
37  gblphidat globalPhiME(gblphiadd address, const bool gangedME1a = false) const;
38 
39  gblphidat globalPhiMB(int phi_local, int wire_group, int cscid, const bool gangedME1a = false) const;
40  gblphidat globalPhiMB(unsigned address, const bool gangedME1a = false) const;
41  gblphidat globalPhiMB(gblphiadd address, const bool gangedME1a = false) const;
42 
43  gbletadat globalEtaME(int phi_bend, int phi_local, int wire_group, int cscid, const bool gangedME1a = false) const;
44  gbletadat globalEtaME(unsigned address, const bool gangedME1a = false) const;
45  gbletadat globalEtaME(gbletaadd address, const bool gangedME1a = false) const;
46 
49 
50  void setCSCGeometry(const CSCGeometry* g) { csc_g = g; }
51 
52 private:
54 
56  lclphidat calcLocalPhi(const lclphiadd& address) const;
57 
59  gblphidat calcGlobalPhiME(const gblphiadd& address) const;
60  gblphidat calcGlobalPhiMB(const gblphidat& me_gphi_data) const;
61  double getGlobalPhiValue(const CSCLayer* thelayer, const unsigned& strip, const unsigned& wire_group) const;
62 
64  gbletadat calcGlobalEtaME(const gbletaadd& address) const;
65  double getGlobalEtaValue(const unsigned& cscid, const unsigned& wire_group, const unsigned& phi_local) const;
66 
67  void fillLocalPhiLUT();
68 
73  bool LUTsFromFile; // readLUTs from file or generate on the fly
74  bool useMiniLUTs; // if useMiniLUTs is set to true, the code will generate LUTs using the CSCSectorReceiverMiniLUTs class -- BJ
75  bool isBinary; // if readLUTs is set to true, are the LUT files binary or ascii format
76 
77  bool isTMB07; // use the TMB 2007 patterns or the older set of parameters
78 
81  void readLUTsFromFile();
82 
83  static bool me_lcl_phi_loaded;
87 
89 };
90 
91 #endif
void setCSCGeometry(const CSCGeometry *g)
lclphidat localPhi(int strip, int pattern, int quality, int lr, const bool gangedME1a=false) const
Geometry Lookup Tables.
uint32_t const *__restrict__ Quality * quality
gbletadat calcGlobalEtaME(const gbletaadd &address) const
Global Eta LUT.
std::string encodeFileIndex() const
Helpers.
class global_phi_address gblphiadd
edm::FileInPath mb_gbl_phi_file
CSCSectorReceiverLUT & operator=(const CSCSectorReceiverLUT &)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
double getGlobalPhiValue(const CSCLayer *thelayer, const unsigned &strip, const unsigned &wire_group) const
gblphidat globalPhiME(int phi_local, int wire_group, int cscid, const bool gangedME1a=false) const
double getGlobalEtaValue(const unsigned &cscid, const unsigned &wire_group, const unsigned &phi_local) const
edm::FileInPath me_gbl_phi_file
edm::FileInPath me_lcl_phi_file
CSCSectorReceiverLUT(int endcap, int sector, int subsector, int station, const edm::ParameterSet &pset, bool TMB07)
gblphidat globalPhiMB(int phi_local, int wire_group, int cscid, const bool gangedME1a=false) const
edm::FileInPath me_gbl_eta_file
static lclphidat * me_lcl_phi
class global_phi_data gblphidat
class local_phi_address lclphiadd
class local_phi_data lclphidat
Data Types.
gbletadat globalEtaME(int phi_bend, int phi_local, int wire_group, int cscid, const bool gangedME1a=false) const
gblphidat calcGlobalPhiME(const gblphiadd &address) const
Global Phi LUT.
class global_eta_address gbletaadd
lclphidat calcLocalPhi(const lclphiadd &address) const
Local Phi LUT.
class global_eta_data gbletadat
const CSCGeometry * csc_g
gblphidat calcGlobalPhiMB(const gblphidat &me_gphi_data) const