File indexing completed on 2024-09-07 04:36:41
0001 #ifndef CSCTrackFinder_CSCTrackFinderDataTypes_h
0002 #define CSCTrackFinder_CSCTrackFinderDataTypes_h
0003
0004
0005 typedef class local_phi_address {
0006 public:
0007 unsigned int strip : 8;
0008 unsigned int clct_pattern : 3;
0009 unsigned int pattern_type : 1;
0010 unsigned int quality : 4;
0011 unsigned int lr : 1;
0012 unsigned int spare : 2;
0013 unsigned int zero : 13;
0014
0015 local_phi_address() : strip(0), clct_pattern(0), pattern_type(0), quality(0), lr(0), spare(0), zero(0) {}
0016 local_phi_address(const unsigned& u) { this->operator=(u); }
0017
0018 local_phi_address& operator=(const unsigned& u);
0019 unsigned toint() const;
0020
0021 } lclphiadd;
0022
0023 typedef class global_phi_address {
0024 public:
0025 unsigned int phi_local : 10;
0026 unsigned int wire_group : 5;
0027 unsigned int cscid : 4;
0028 unsigned int zero : 13;
0029
0030 global_phi_address() : phi_local(0), wire_group(0), cscid(0), zero(0) {}
0031 global_phi_address(const unsigned& u) { this->operator=(u); }
0032
0033 global_phi_address& operator=(const unsigned& u);
0034 unsigned toint() const;
0035
0036 } gblphiadd;
0037
0038 typedef class global_eta_address {
0039 public:
0040 unsigned int phi_bend : 6;
0041 unsigned int phi_local : 2;
0042 unsigned int wire_group : 7;
0043 unsigned int cscid : 4;
0044 unsigned int zero : 13;
0045
0046 global_eta_address() : phi_bend(0), phi_local(0), wire_group(0), cscid(0), zero(0) {}
0047 global_eta_address(const unsigned& u) { this->operator=(u); }
0048
0049 global_eta_address& operator=(const unsigned& u);
0050 unsigned toint() const;
0051
0052 } gbletaadd;
0053
0054 typedef class pt_address {
0055 public:
0056 unsigned int delta_phi_12 : 8;
0057 unsigned int delta_phi_23 : 4;
0058 unsigned int track_eta : 4;
0059 unsigned int track_mode : 4;
0060 unsigned int delta_phi_sign : 1;
0061 unsigned int track_fr : 1;
0062
0063 pt_address() : delta_phi_12(0), delta_phi_23(0), track_eta(0), track_mode(0), delta_phi_sign(0), track_fr(0) {}
0064 pt_address(const unsigned& us) { this->operator=(us); }
0065
0066 pt_address& operator=(const unsigned&);
0067 unsigned toint() const;
0068
0069 unsigned delta_phi() const;
0070 } ptadd;
0071
0072
0073 typedef class local_phi_data {
0074 public:
0075 unsigned short phi_local : 10;
0076 unsigned short phi_bend_local : 6;
0077
0078 local_phi_data() : phi_local(0), phi_bend_local(0) {}
0079 local_phi_data(const unsigned short& us) { this->operator=(us); }
0080
0081 local_phi_data& operator=(const unsigned short& us);
0082 unsigned short toint() const;
0083
0084 } lclphidat;
0085
0086 typedef class global_phi_data {
0087 public:
0088 unsigned short global_phi : 12;
0089 unsigned short spare : 4;
0090
0091 global_phi_data() : global_phi(0), spare(0) {}
0092 global_phi_data(const unsigned short& us) { this->operator=(us); }
0093
0094 global_phi_data& operator=(const unsigned short& us);
0095 unsigned short toint() const;
0096
0097 } gblphidat;
0098
0099 typedef class global_eta_data {
0100 public:
0101 unsigned short global_eta : 7;
0102 unsigned short global_bend : 5;
0103 unsigned short spare : 4;
0104
0105 global_eta_data() : global_eta(0), global_bend(0), spare(0) {}
0106 global_eta_data(const unsigned short& us) { this->operator=(us); }
0107
0108 global_eta_data& operator=(const unsigned short& us);
0109 unsigned short toint() const;
0110
0111 } gbletadat;
0112
0113 typedef class pt_data {
0114 public:
0115 unsigned short front_rank : 7;
0116 unsigned short charge_valid_front : 1;
0117 unsigned short rear_rank : 7;
0118 unsigned short charge_valid_rear : 1;
0119
0120 pt_data() : front_rank(0), charge_valid_front(0), rear_rank(0), charge_valid_rear(0) {}
0121 pt_data(const unsigned short& us) { this->operator=(us); }
0122
0123 pt_data& operator=(const unsigned short&);
0124 unsigned short toint() const;
0125
0126 } ptdat;
0127
0128 #endif