CMS 3D CMS Logo

CPPFDigi.h
Go to the documentation of this file.
1 // Class for RPC trigger primitives sent from CPPF to EMTF
2 // Author Alejandro Segura -- Universidad de los Andes
3 
4 #ifndef DataFormats_L1TMuon_CPPFDigi_h
5 #define DataFormats_L1TMuon_CPPFDigi_h
6 
8 #include <vector>
9 
10 namespace l1t {
11 
12  class CPPFDigi {
13  public:
15  : bx_(-99),
16  phi_int_(-99),
17  theta_int_(-99),
18  valid_(-99),
19  board_(-99),
20  channel_(-99),
21  emtf_sector_(-99),
22  emtf_link_(-99),
23  first_strip_(-99),
24  cluster_size_(-99),
25  phi_glob_(-99),
26  theta_glob_(-99){};
27 
28  explicit CPPFDigi(const RPCDetId& rpcId0,
29  int bx0,
30  int phi_int0,
31  int theta_int0,
32  int valid0,
33  int board0,
34  int channel0,
35  int emtf_sector0,
36  int emtf_link0,
37  int first_strip0,
38  int cluster_size0,
39  float phi_glob0,
40  float theta_glob0);
41 
42  virtual ~CPPFDigi(){};
43 
44  virtual CPPFDigi* clone() const;
45 
46  CPPFDigi(const RPCDetId& rpcId0, int bx0);
47  CPPFDigi(const RPCDetId& rpcId0, int bx0, int theta_int0, int phi_int0);
48 
49  bool operator<(const CPPFDigi& rhs) const;
50 
51  RPCDetId rpcId() const { return rpcId_; }
52  int bx() const { return bx_; }
53  int phi_int() const { return phi_int_; }
54  int theta_int() const { return theta_int_; }
55  int valid() const { return valid_; }
56  int board() const { return board_; }
57  int channel() const { return channel_; }
58  int emtf_sector() const { return emtf_sector_; }
59  int emtf_link() const { return emtf_link_; }
60  int first_strip() const { return first_strip_; }
61  int cluster_size() const { return cluster_size_; }
62  float phi_glob() const { return phi_glob_; }
63  float theta_glob() const { return theta_glob_; }
64 
65  private:
66  RPCDetId rpcId_; // RPC detector ID (includes endcap, ring, station, sector, and chamber)
67  int bx_; // Bunch crossing, signed, centered at 0
68  int phi_int_; // Local integer phi value within an EMTF sector, represents 1/15 degree
69  int theta_int_; // Integer theta value in EMTF scale, represents 36.5/32 degree
70  int valid_;
71  int board_; // CPPF board, 1 - 4 in each endcap
72  int channel_; // CPPF output link, 0 - 8 in each board
73  int emtf_sector_; // EMTF sector, 1 - 6 in each endcap
74  int emtf_link_; // EMTF input link, 0 - 6 in each sector
75  int first_strip_; // Lowest-numbered strip in the cluster
76  int cluster_size_; // Number of strips in the cluster
77  float phi_glob_; // Global phi coordinate in degrees, from -180 to 180
78  float theta_glob_; // Global theta coordinate in degrees, from 0 to 90
79 
80  }; // End of class CPPFDigi
81 
82  // Define a collection of CPPFDigis
83  typedef std::vector<CPPFDigi> CPPFDigiCollection;
84 
85 } // End of namespace l1t
86 
88 std::ostream& operator<<(std::ostream& o, const l1t::CPPFDigi& cppf);
89 
90 #endif /* #define DataFormats_L1TMuon_CPPFDigi_h */
float theta_glob() const
Definition: CPPFDigi.h:63
virtual CPPFDigi * clone() const
Definition: CPPFDigi.cc:66
int board() const
Definition: CPPFDigi.h:56
int bx() const
Definition: CPPFDigi.h:52
int theta_int() const
Definition: CPPFDigi.h:54
int phi_int_
Definition: CPPFDigi.h:68
int first_strip_
Definition: CPPFDigi.h:75
int emtf_sector() const
Definition: CPPFDigi.h:58
int phi_int() const
Definition: CPPFDigi.h:53
delete x;
Definition: CaloConfig.h:22
int emtf_sector_
Definition: CPPFDigi.h:73
std::ostream & operator<<(std::ostream &o, const l1t::CPPFDigi &cppf)
The ostream operator.
Definition: CPPFDigi.cc:78
int theta_int_
Definition: CPPFDigi.h:69
int emtf_link() const
Definition: CPPFDigi.h:59
float phi_glob_
Definition: CPPFDigi.h:77
float theta_glob_
Definition: CPPFDigi.h:78
int first_strip() const
Definition: CPPFDigi.h:60
int channel_
Definition: CPPFDigi.h:72
float phi_glob() const
Definition: CPPFDigi.h:62
int emtf_link_
Definition: CPPFDigi.h:74
int channel() const
Definition: CPPFDigi.h:57
bool operator<(const CPPFDigi &rhs) const
Definition: CPPFDigi.cc:68
int valid() const
Definition: CPPFDigi.h:55
int cluster_size() const
Definition: CPPFDigi.h:61
RPCDetId rpcId_
Definition: CPPFDigi.h:66
int cluster_size_
Definition: CPPFDigi.h:76
std::vector< CPPFDigi > CPPFDigiCollection
Definition: CPPFDigi.h:83
RPCDetId rpcId() const
Definition: CPPFDigi.h:51
virtual ~CPPFDigi()
Definition: CPPFDigi.h:42