CMS 3D CMS Logo

OmtfCscDataWord64.h
Go to the documentation of this file.
1 #ifndef DataFormat_L1TMuon_Omtf_CscDataWord64_H
2 #define DataFormat_L1TMuon_Omtf_CscDataWord64_H
3 
4 #include <iostream>
6 
7 namespace omtf {
8 
9  class CscDataWord64 {
10  public:
12  CscDataWord64() : rawData(Word64(DataWord64::csc) << 60) {}
13 
14  unsigned int type() const { return type_; }
15  unsigned int bxNum() const { return bxNum_; }
16  unsigned int hitNum() const { return hitNum_; }
17  unsigned int wireGroup() const { return keyWG_; }
18  unsigned int quality() const { return quality_; }
19  unsigned int clctPattern() const { return clctPattern_; }
20  unsigned int cscID() const { return cscID_; }
21  unsigned int halfStrip() const { return halfStrip_; }
22  unsigned int linkNum() const { return linkNum_; }
23  unsigned int station() const { return station_; }
24  unsigned int bend() const { return lr_; }
25  unsigned int valid() const { return vp_; }
26 
27  friend class OmtfPacker;
28  friend class CscPacker;
29  friend std::ostream &operator<<(std::ostream &out, const CscDataWord64 &o);
30 
31  private:
32  union {
34  struct { // watch out - bit fields are is implementation-defined
35  uint64_t dummy7_ : 3; //2:0 unused, oryginalnie TBIN Num
36  uint64_t vp_ : 1; //3:3 VP
37  uint64_t station_ : 3; //6:4 Station
38  uint64_t af_ : 1; //7:7 AF
39  uint64_t dummy6_ : 4; //11:8 unused, oryginalnie EPC
40  uint64_t sm_ : 1; //12:12 unused, oryginalnie SM
41  uint64_t se_ : 1; //13:13 SE
42  uint64_t dummy5_ : 1; //14:14 unused, oryginalnie AFEF
43  uint64_t dummy4_ : 2; //16:15 unused, oryginalnie ME BXN [11:0]
44  uint64_t nit_ : 1; //17:17 NIT
45  uint64_t cik_ : 1; //18:18 CIK
46  uint64_t dummy3_ : 1; //19:19 unused, oryginalnie AFFF
47  uint64_t linkNum_ : 6; //25:20 numer linku CSC
48  uint64_t halfStrip_ : 8; //33:26 CLCT key half-strip [7:0]
49  uint64_t cscID_ : 4; //37:34 CSC ID [3:0]
50  uint64_t lr_ : 1; //38:38 L/R
51  uint64_t dummy2_ : 1; //39:39 unused, oryginalnie BXE
52  uint64_t dummy1_ : 1; //40:40 unused, oryginalnie BC0
53  uint64_t clctPattern_ : 4; //44:41 CLCT pattern [3:0] 4b
54  uint64_t quality_ : 4; //48:45 Quality [3:0]
55  uint64_t keyWG_ : 7; //55:49 Key wire group [6:0]
56  uint64_t hitNum_ : 1; //56:56 int in chamber 0 or 1
57  uint64_t bxNum_ : 3; //59:57 SBXN
58  uint64_t type_ : 4; //63:60 CSC identifier 0xC
59  };
60  };
61  };
62 
63 } // namespace omtf
64 #endif
omtf::CscDataWord64::keyWG_
uint64_t keyWG_
Definition: OmtfCscDataWord64.h:55
omtf::CscDataWord64::bxNum
unsigned int bxNum() const
Definition: OmtfCscDataWord64.h:15
omtf::CscDataWord64::bend
unsigned int bend() const
Definition: OmtfCscDataWord64.h:24
omtf::CscDataWord64::cscID
unsigned int cscID() const
Definition: OmtfCscDataWord64.h:20
omtf::CscDataWord64::station
unsigned int station() const
Definition: OmtfCscDataWord64.h:23
omtf::CscDataWord64::quality
unsigned int quality() const
Definition: OmtfCscDataWord64.h:18
omtf::CscDataWord64::type_
uint64_t type_
Definition: OmtfCscDataWord64.h:58
omtf::CscDataWord64::af_
uint64_t af_
Definition: OmtfCscDataWord64.h:38
omtf::CscDataWord64::CscDataWord64
CscDataWord64(const Word64 &data)
Definition: OmtfCscDataWord64.h:11
omtf::CscDataWord64::quality_
uint64_t quality_
Definition: OmtfCscDataWord64.h:54
omtf::CscDataWord64::dummy3_
uint64_t dummy3_
Definition: OmtfCscDataWord64.h:46
omtf::CscPacker
Definition: OmtfCscPacker.h:16
omtf::CscDataWord64::cik_
uint64_t cik_
Definition: OmtfCscDataWord64.h:45
omtf::Word64
uint64_t Word64
Definition: OmtfDataWord64.h:11
omtf::CscDataWord64::halfStrip
unsigned int halfStrip() const
Definition: OmtfCscDataWord64.h:21
omtf::CscDataWord64::linkNum_
uint64_t linkNum_
Definition: OmtfCscDataWord64.h:47
EcalTangentSkim_cfg.o
o
Definition: EcalTangentSkim_cfg.py:42
csc
Definition: L1Track.h:19
omtf::CscDataWord64::dummy6_
uint64_t dummy6_
Definition: OmtfCscDataWord64.h:39
omtf::CscDataWord64::clctPattern_
uint64_t clctPattern_
Definition: OmtfCscDataWord64.h:53
omtf::CscDataWord64::bxNum_
uint64_t bxNum_
Definition: OmtfCscDataWord64.h:57
omtf::OmtfPacker
Definition: OmtfPacker.cc:46
omtf::CscDataWord64::wireGroup
unsigned int wireGroup() const
Definition: OmtfCscDataWord64.h:17
omtf::CscDataWord64::sm_
uint64_t sm_
Definition: OmtfCscDataWord64.h:40
omtf::CscDataWord64::rawData
uint64_t rawData
Definition: OmtfCscDataWord64.h:33
omtf::CscDataWord64::station_
uint64_t station_
Definition: OmtfCscDataWord64.h:37
omtf::CscDataWord64::halfStrip_
uint64_t halfStrip_
Definition: OmtfCscDataWord64.h:48
omtf::CscDataWord64::linkNum
unsigned int linkNum() const
Definition: OmtfCscDataWord64.h:22
omtf::CscDataWord64::dummy2_
uint64_t dummy2_
Definition: OmtfCscDataWord64.h:51
omtf::CscDataWord64::operator<<
friend std::ostream & operator<<(std::ostream &out, const CscDataWord64 &o)
Definition: OmtfCscDataWord64.cc:4
omtf::CscDataWord64::clctPattern
unsigned int clctPattern() const
Definition: OmtfCscDataWord64.h:19
omtf::CscDataWord64::CscDataWord64
CscDataWord64()
Definition: OmtfCscDataWord64.h:12
omtf::CscDataWord64::cscID_
uint64_t cscID_
Definition: OmtfCscDataWord64.h:49
omtf::CscDataWord64::dummy7_
uint64_t dummy7_
Definition: OmtfCscDataWord64.h:35
omtf::CscDataWord64::nit_
uint64_t nit_
Definition: OmtfCscDataWord64.h:44
omtf::CscDataWord64::se_
uint64_t se_
Definition: OmtfCscDataWord64.h:41
omtf::CscDataWord64::vp_
uint64_t vp_
Definition: OmtfCscDataWord64.h:36
OmtfDataWord64.h
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
omtf::CscDataWord64
Definition: OmtfCscDataWord64.h:9
omtf::CscDataWord64::dummy4_
uint64_t dummy4_
Definition: OmtfCscDataWord64.h:43
cond::uint64_t
unsigned long long uint64_t
Definition: Time.h:13
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
omtf::CscDataWord64::type
unsigned int type() const
Definition: OmtfCscDataWord64.h:14
omtf::CscDataWord64::valid
unsigned int valid() const
Definition: OmtfCscDataWord64.h:25
omtf::CscDataWord64::dummy5_
uint64_t dummy5_
Definition: OmtfCscDataWord64.h:42
omtf::CscDataWord64::lr_
uint64_t lr_
Definition: OmtfCscDataWord64.h:50
omtf::CscDataWord64::hitNum
unsigned int hitNum() const
Definition: OmtfCscDataWord64.h:16
omtf::CscDataWord64::dummy1_
uint64_t dummy1_
Definition: OmtfCscDataWord64.h:52
omtf
Definition: OmtfCscDataWord64.h:7
omtf::CscDataWord64::hitNum_
uint64_t hitNum_
Definition: OmtfCscDataWord64.h:56