#include <SectorLogicReadOut.h>
Definition at line 17 of file SectorLogicReadOut.h.
◆ SectorLogicReadOut() [1/2]
| SectorLogicReadOut::SectorLogicReadOut |
( |
| ) |
|
◆ SectorLogicReadOut() [2/2]
Definition at line 20 of file SectorLogicReadOut.cxx.
21
22
23
36 }
37
38
39
44 while (p) {
48 if (!cnter) {
50
51 } else
53 cnter++;
56 }
58}
unsigned short int ubit16
ubit16 m_numberOfWordsInCounters
std::array< RODword, s_numberOfDecodedCounters > m_counter32
static const ubit16 s_numberOfDataCounters
std::array< ubit16, s_numberOfDataCounters > m_counter16
ubit16 m_numberOfWordsInBody
ubit16 m_numberOfWordsInFrag
static constexpr ubit16 s_nLinks
ubit16 m_numberOfWordsInSLHits
ubit16 m_hit[s_nLinks][s_nGates]
static const ubit16 s_numberOfDecodedCounters
static constexpr ubit16 s_nGates
◆ ~SectorLogicReadOut()
| SectorLogicReadOut::~SectorLogicReadOut |
( |
| ) |
|
◆ bcid()
Definition at line 256 of file SectorLogicReadOut.cxx.
256 {
259 return (
m_hit[indexLink][indexGate] >> 9) & 0x7;
260 } else {
261 throw std::out_of_range("SectorLogicReadout::bcid: indexLink or indexGate out of range");
262 }
263}
◆ checkFragment()
| bool SectorLogicReadOut::checkFragment |
( |
| ) |
|
◆ cmadd()
Definition at line 202 of file SectorLogicReadOut.cxx.
202 {
205 return (
m_hit[indexLink][indexGate]) & 0x3;
206 } else {
207 throw std::out_of_range("SectorLogicReadout::cmid: indexLink or indexGate out of range");
208 }
209}
◆ deleteSLBody()
| void SectorLogicReadOut::deleteSLBody |
( |
| ) |
|
|
private |
◆ display()
| void SectorLogicReadOut::display |
( |
std::ostream & | stream | ) |
|
Definition at line 265 of file SectorLogicReadOut.cxx.
265 {
266 stream <<
" **** Sector Logic ReadOut Fragment ****" << std::endl;
269 stream <<
" SectorLogic: Header " << std::hex <<
m_Header << std::dec << std::endl;
271 stream <<
" SectorLogic: hit " << (
i + 1) <<
" ==> " << std::hex <<
readSLHitCurrent() << std::dec << std::endl;
272 }
273 stream <<
" SectorLogic: Footer " << std::hex <<
m_Footer << std::dec << std::endl;
276 }
278 stream <<
" SectorLogic: Counter32 " << (
i + 1) <<
" ==> "
279 <<
" = " << std::hex <<
getCounter32(i) << std::dec << std::endl;
280 }
283}
float padTriggerRate(ubit16 padAddress)
RODword getCounter32(ubit16 index)
ubit16 readSLCounterCurrent()
ubit16 readSLHitCurrent()
◆ doCounter32()
| void SectorLogicReadOut::doCounter32 |
( |
| ) |
|
|
private |
◆ doHit()
| void SectorLogicReadOut::doHit |
( |
| ) |
|
|
private |
◆ getCounter32()
Definition at line 169 of file SectorLogicReadOut.cxx.
169 {
173 }
176 } else {
177 throw std::out_of_range("SectorLogicReadout::getCounter32: index=" + std::to_string(index) + " is larger than " +
179 }
180}
◆ initialize()
| void SectorLogicReadOut::initialize |
( |
| ) |
|
◆ makeNewHit()
| void SectorLogicReadOut::makeNewHit |
( |
ubit16 | newHit | ) |
|
|
private |
◆ name()
| const std::string & BaseObject::name |
( |
| ) |
const |
|
inlineinherited |
◆ numberOfBodyWords()
| ubit16 SectorLogicReadOut::numberOfBodyWords |
( |
| ) |
|
|
inline |
◆ numberOfCounterWords()
| ubit16 SectorLogicReadOut::numberOfCounterWords |
( |
| ) |
|
|
inline |
◆ numberOfFragmentWords()
| ubit16 SectorLogicReadOut::numberOfFragmentWords |
( |
| ) |
|
|
inline |
◆ numberOfHitWords()
| ubit16 SectorLogicReadOut::numberOfHitWords |
( |
| ) |
|
|
inline |
◆ opl()
Definition at line 220 of file SectorLogicReadOut.cxx.
220 {
223 return (
m_hit[indexLink][indexGate] >> 5) & 0x1;
224 } else {
225 throw std::out_of_range("SectorLogicReadout::opl: indexLink or indexGate out of range");
226 }
227}
◆ overwriteFooter()
| void SectorLogicReadOut::overwriteFooter |
( |
ubit16 | thisRecord | ) |
|
|
inline |
◆ overwriteHeader()
| void SectorLogicReadOut::overwriteHeader |
( |
ubit16 | thisRecord | ) |
|
|
inline |
◆ oveta()
Definition at line 238 of file SectorLogicReadOut.cxx.
238 {
241 return (
m_hit[indexLink][indexGate] >> 7) & 0x1;
242 } else {
243 throw std::out_of_range("SectorLogicReadout::oveta: indexLink or indexGate out of range");
244 }
245}
◆ ovphi()
Definition at line 229 of file SectorLogicReadOut.cxx.
229 {
232 return (
m_hit[indexLink][indexGate] >> 6) & 0x1;
233 } else {
234 throw std::out_of_range("SectorLogicReadout::ovphi: indexLink or indexGate out of range");
235 }
236}
◆ padTriggerRate()
| float SectorLogicReadOut::padTriggerRate |
( |
ubit16 | padAddress | ) |
|
Definition at line 182 of file SectorLogicReadOut.cxx.
182 {
184
185
186
187 static const float convertToTriggerRate = 160314.74 / 4.0;
190 } else {
191 throw std::out_of_range("SectorLogicReadout::padTrigger: input padAddress=" + std::to_string(padAddress) + " is not possible");
192 }
193}
◆ Print()
| virtual void BaseObject::Print |
( |
std::ostream & | , |
|
|
bool | ) const |
|
inlinevirtualinherited |
Reimplemented in bitPATTERN, CMAdata, CMAparameters, CMApatterns, CMAtrigger, MuonSimuTrack, PADdata, PADpatterns, RPC_CondCabling::CMAcablingdata, RPC_CondCabling::CMApivotdata, RPC_CondCabling::RPCchamber, RPC_CondCabling::RPCchamberdata, RPC_CondCabling::WiredOR, RPC_CondCabling::WiredORdata, RPCdigit, RPCtrigDataObject, SLdata, and SLpatterns.
Definition at line 25 of file BaseObject.h.
◆ ptid()
Definition at line 211 of file SectorLogicReadOut.cxx.
211 {
214 return (
m_hit[indexLink][indexGate] >> 2) & 0x7;
215 } else {
216 throw std::out_of_range("SectorLogicReadout::ptid: indexLink or indexGate out of range");
217 }
218}
◆ readSLCounterCurrent()
| ubit16 SectorLogicReadOut::readSLCounterCurrent |
( |
| ) |
|
Definition at line 139 of file SectorLogicReadOut.cxx.
139 {
143 if (temp->next) temp = temp->next;
144 }
147 }
148
152 return hit;
153 } else {
154 return 0xcafe;
155 }
156}
ubit16 numberOfHitWords()
◆ readSLHitCurrent()
| ubit16 SectorLogicReadOut::readSLHitCurrent |
( |
| ) |
|
◆ res()
Definition at line 247 of file SectorLogicReadOut.cxx.
247 {
250 return (
m_hit[indexLink][indexGate] >> 8) & 0x1;
251 } else {
252 throw std::out_of_range("SectorLogicReadout::res : indexLink or indexGate out of range");
253 }
254}
◆ reset()
| void SectorLogicReadOut::reset |
( |
| ) |
|
◆ tag()
◆ topSLBody()
| void SectorLogicReadOut::topSLBody |
( |
| ) |
|
|
inline |
◆ topSLBodyCounters()
| void SectorLogicReadOut::topSLBodyCounters |
( |
| ) |
|
|
inline |
◆ writeRecord()
| void SectorLogicReadOut::writeRecord |
( |
ubit16 | newHit, |
|
|
bool | last ) |
◆ operator<< [1/2]
◆ operator<< [2/2]
◆ m_Body
| SLROData* SectorLogicReadOut::m_Body {nullptr} |
|
private |
◆ m_BodyCounter
| SLROData* SectorLogicReadOut::m_BodyCounter {nullptr} |
|
private |
◆ m_BodyCurr
| SLROData* SectorLogicReadOut::m_BodyCurr {nullptr} |
|
private |
◆ m_BodyLast
| SLROData* SectorLogicReadOut::m_BodyLast {nullptr} |
|
private |
◆ m_counter16
◆ m_counter32
◆ m_counter32ok
| bool SectorLogicReadOut::m_counter32ok {false} |
|
private |
◆ m_Footer
| ubit16 SectorLogicReadOut::m_Footer {0} |
|
private |
◆ m_Header
| ubit16 SectorLogicReadOut::m_Header {0} |
|
private |
◆ m_hit
◆ m_hitok
| bool SectorLogicReadOut::m_hitok {false} |
|
private |
◆ m_name
| std::string BaseObject::m_name |
|
privateinherited |
◆ m_numberOfWordsInBody
| ubit16 SectorLogicReadOut::m_numberOfWordsInBody {0} |
|
private |
◆ m_numberOfWordsInCounters
◆ m_numberOfWordsInFrag
| ubit16 SectorLogicReadOut::m_numberOfWordsInFrag {0} |
|
private |
◆ m_numberOfWordsInSLHits
| ubit16 SectorLogicReadOut::m_numberOfWordsInSLHits {0} |
|
private |
◆ m_tag
◆ s_nGates
| ubit16 SectorLogicReadOut::s_nGates = 7 |
|
staticconstexprprivate |
◆ s_nLinks
| ubit16 SectorLogicReadOut::s_nLinks = 8 |
|
staticconstexprprivate |
◆ s_numberOfDataCounters
| const ubit16 SectorLogicReadOut::s_numberOfDataCounters = 21 |
|
staticprivate |
◆ s_numberOfDecodedCounters
| const ubit16 SectorLogicReadOut::s_numberOfDecodedCounters = 7 |
|
staticprivate |
The documentation for this class was generated from the following files: