ATLAS Offline Software
Loading...
Searching...
No Matches
TGCSlaveBoard.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TrigT1TGC_TGCSlaveBoard_h
6#define TrigT1TGC_TGCSlaveBoard_h
7
10
11#include <bitset>
12#include <string>
13
14namespace LVL1TGCTrigger {
15
16class TGCPatchPanel;
19class TGCHitPattern;
20
22{
23 private:
24 // offten use {A,B,C,D}={36,36,44,44} format, but some parts are not used.
25 static constexpr int s_pOffset[6] = {0,0,2,2,2,2};// WT,WD,ST,SD,WI,SI
26 static constexpr int s_iOffset[6] = {4,0,6,6,6,6};
27 static constexpr int s_pLength[6] = {36,36,32,32,32,32};
28 static constexpr int s_iLength[6] = {36,44,32,32,32,32};
29
30 public:
31
33 virtual ~TGCSlaveBoard();
34 TGCSlaveBoard(const TGCSlaveBoard& right) = delete;
35 TGCSlaveBoard& operator=(const TGCSlaveBoard& right) = delete;
36
37 void clockIn(int bidIn);
39 void eraseOutput();
40
41 int getId() const { return m_id;};
42 void setId(int idIn){ m_id=idIn;};
43
44 void setPatchPanel(TGCPatchPanel* PPIn);
45
46 int getIdHighPtBoard() const;
47 void setIdHighPtBoard(int m_id);
48
49 int getType() const { return m_type;};
50 void setType(int typeIn){ m_type=typeIn;};
51
52 TGCRegionType getRegion() const { return m_region;};
53 void setRegion(TGCRegionType regionIn){ m_region=regionIn;};
54
55 void showResult() const;
56 std::string getTypeName(int typeIn) const;
57
59
60 void storeSlbIn();
61 const std::bitset<200>& GetSlbIn(void) const { return m_slbin; } // for readout
62
63 protected:
64 void collectInput();
66 void doDecluster();
68
69 virtual void doCoincidence() = 0;
70 virtual void createSlaveBoardOut() = 0;
71
75
76 int m_id;
77 int m_bid;
79 int m_type;
81
84 std::bitset<200> m_slbin; // store SlaveBoard input for readout
85
86};
87
88} // end of namespace
89
90#endif
std::string getTypeName(int typeIn) const
TGCSlaveBoardOut * m_slaveBoardOut
virtual void doCoincidence()=0
void setRegion(TGCRegionType regionIn)
static constexpr int s_pOffset[6]
TGCPatchPanelOut * m_patchPanelOut
virtual void createSlaveBoardOut()=0
static constexpr int s_pLength[6]
const std::bitset< 200 > & GetSlbIn(void) const
void setPatchPanel(TGCPatchPanel *PPIn)
TGCSlaveBoard & operator=(const TGCSlaveBoard &right)=delete
TGCRegionType getRegion() const
TGCSlaveBoard(const TGCSlaveBoard &right)=delete
static constexpr int s_iLength[6]
static constexpr int s_iOffset[6]
void setPatchPanelOut(TGCPatchPanelOut *PPOut)
TGCSlaveBoardOut * getOutput()