ATLAS Offline Software
BCM_RawData.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // BCM_RawData.cxx
7 // Implementation file for class BCM_RawData
9 // (c) ATLAS Detector software
11 // Version 1.0 13/08/2002 Veronique Boisvert
12 // Version 1.1 19/08/2008 Daniel Dobos for BCM
13 // Version 1.2 15/05/2008 Daniel Dobos
14 // Version 1.3 23/05/2008 Dominique Tardif
15 // Version 1.4 02/03/2009 Daniel Dobos
17 
18 
20 
21 
22 
23 
25 // constructor with parameters: word1, word2
27 BCM_RawData::BCM_RawData(const unsigned int word1, const unsigned int word2) :
28  m_word1(word1),
29  m_word2(word2)
30 {}
31 
33 // constructor with parameter list:
34 // Channel identifier 0-15
35 // Position of first pulse 0-63
36 // Width of first pulse 0-31
37 // Position of second pulse 0-63
38 // Width of second pulse 0-31
39 // Level 1 accept 0-15
40 // Bunch Crosing ID 0-4095
41 // Level1 Trigger ID 0-65535
43 BCM_RawData::BCM_RawData(const unsigned int Channel,
44  const unsigned int Pulse1Position,
45  const unsigned int Pulse1Width,
46  const unsigned int Pulse2Position,
47  const unsigned int Pulse2Width,
48  const unsigned int LVL1A,
49  const unsigned int BCID,
50  const unsigned int LVL1ID
51  ) :
52  m_word1(((Channel & 0x0000F)<< 0)+
53  ((Pulse1Position & 0x0003F)<< 4)+
54  ((Pulse1Width & 0x0001F)<<10)+
55  ((Pulse2Position & 0x0003F)<<15)+
56  ((Pulse2Width & 0x0001F)<<21)+
57  ((LVL1A & 0x0003F)<<26)
58  ),
59  m_word2(((BCID & 0x00FFF)<< 0)+
60  ((LVL1ID & 0x0FFFF)<<12)
61  )
62 {}
63 
65 // constructor with full parameter list:
66 // Channel identifier 0-15
67 // Position of first pulse 0-63
68 // Width of first pulse 0-31
69 // Position of second pulse 0-63
70 // Width of second pulse 0-31
71 // Level 1 accept 0-15
72 // Bunch Crosing ID 0-4095
73 // Level1 Trigger ID 0-65535
74 // Error 0-15
76 BCM_RawData::BCM_RawData(const unsigned int Channel,
77  const unsigned int Pulse1Position,
78  const unsigned int Pulse1Width,
79  const unsigned int Pulse2Position,
80  const unsigned int Pulse2Width,
81  const unsigned int LVL1A,
82  const unsigned int BCID,
83  const unsigned int LVL1ID,
84  const unsigned int Error
85  ) :
86  m_word1(((Channel & 0x0000F)<< 0)+
87  ((Pulse1Position & 0x0003F)<< 4)+
88  ((Pulse1Width & 0x0001F)<<10)+
89  ((Pulse2Position & 0x0003F)<<15)+
90  ((Pulse2Width & 0x0001F)<<21)+
91  ((LVL1A & 0x0003F)<<26)
92  ),
93  m_word2(((BCID & 0x00FFF)<< 0)+
94  ((LVL1ID & 0x0FFFF)<<12)+
95  ((Error & 0x0000F)<<28)
96  )
97 {}
98 
xAOD::word1
word1
Definition: eFexEMRoI_v1.cxx:82
LArBadChanBlobUtils::Channel
Identifier32::value_type Channel
Definition: LArBadChanBlobUtils.h:24
PixelByteStreamErrors::BCID
@ BCID
Definition: PixelByteStreamErrors.h:13
BCM_RawData::BCM_RawData
BCM_RawData()=default
BCM_RawData.h
L1Topo::Error
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition: Error.h:16
PixelByteStreamErrors::LVL1ID
@ LVL1ID
Definition: PixelByteStreamErrors.h:13