|
ATLAS Offline Software
|
#include <TGCStripDoubletSB.h>
|
static constexpr int | s_pOffset [6] = {0,0,2,2,2,2} |
|
static constexpr int | s_iOffset [6] = {4,0,6,6,6,6} |
|
static constexpr int | s_pLength [6] = {36,36,32,32,32,32} |
|
static constexpr int | s_iLength [6] = {36,44,32,32,32,32} |
|
Definition at line 12 of file TGCStripDoubletSB.h.
◆ TGCStripDoubletSB()
LVL1TGCTrigger::TGCStripDoubletSB::TGCStripDoubletSB |
( |
| ) |
|
|
inline |
◆ ~TGCStripDoubletSB()
LVL1TGCTrigger::TGCStripDoubletSB::~TGCStripDoubletSB |
( |
| ) |
|
|
inline |
◆ clockIn()
void LVL1TGCTrigger::TGCSlaveBoard::clockIn |
( |
int |
bidIn | ) |
|
|
inherited |
Definition at line 37 of file TGCSlaveBoard.cxx.
46 std::cout <<
"#SB: BID= " <<
m_bid;
49 std::cout <<
" ID= " <<
m_id << std::endl;
53 std::cout<<
"#SB I: BID= "<<
m_bid;
58 std::cout <<
" port= "<<
i;
59 std::cout <<
"" <<
m_id;
65 std::cout <<
"NO PP IN" << std::endl;
82 #ifdef TGCDEBUG_VISUAL
83 std::cout <<
"TGCSlaveBoard::clockIn: after doCoincidence()\n";
87 std::cout <<
"#SB C: BID= " <<
m_bid <<
":";
92 #ifdef TGCDEBUG_VISUAL
94 std::cout <<
"TGCSlaveBoard::clockIn: after doDecluster()\n";
◆ collectInput()
void LVL1TGCTrigger::TGCSlaveBoard::collectInput |
( |
| ) |
|
|
protectedinherited |
◆ createSlaveBoardOut()
void LVL1TGCTrigger::TGCDoubletSB::createSlaveBoardOut |
( |
| ) |
|
|
protectedvirtualinherited |
◆ deletePatchPanelOut()
void LVL1TGCTrigger::TGCSlaveBoard::deletePatchPanelOut |
( |
| ) |
|
|
protectedinherited |
◆ do3outof4Coincedence()
void LVL1TGCTrigger::TGCDoubletSB::do3outof4Coincedence |
( |
TGCHitPattern ** |
LCOut | ) |
|
|
protectedinherited |
Definition at line 205 of file TGCDoubletSB.cxx.
207 if(((LCOut[0]!=0)||(LCOut[1]!=0))&&((LCOut[2]!=0)||(LCOut[3]!=0))){
211 std::cout <<
"# DoubletSB [do3outof4Coincedence]" <<std::endl;
212 std::cout<<
"#SB LCOut[0]: inner 2hit";LCOut[0]->
print();
213 std::cout<<
"#SB LCOut[1]: inner 1hit";LCOut[1]->print();
214 std::cout<<
"#SB LCOut[2]: pivot 1hit";LCOut[2]->print();
215 std::cout<<
"#SB LCOut[3]: pivot 2hit";LCOut[3]->print();
◆ doCoincidence()
void LVL1TGCTrigger::TGCDoubletSB::doCoincidence |
( |
| ) |
|
|
protectedvirtualinherited |
◆ doCoincidenceInSubMatrix()
void LVL1TGCTrigger::TGCDoubletSB::doCoincidenceInSubMatrix |
( |
const int |
block, |
|
|
TGCHitPattern ** |
LCOut |
|
) |
| |
|
protectedvirtualinherited |
Definition at line 226 of file TGCDoubletSB.cxx.
228 bool oredHit =
false;
234 for( dev=0; ( dev<=
m_maxDev ) && !oredHit; dev+=1){
240 if((0 <= iCh)&&(iCh < LCOut[0]->getLength())){
241 A = LCOut[0]->getChannel(iCh);
243 if((0 <= iCh)&&(iCh < LCOut[1]->getLength())){
244 B = LCOut[1]->getChannel(iCh);
246 if((0 <= pCh)&&(pCh < LCOut[2]->getLength())){
247 C = LCOut[2]->getChannel(pCh);
249 if((0 <= pCh)&&(pCh < LCOut[3]->getLength())){
250 D = LCOut[3]->getChannel(pCh);
273 std::cout <<
"# DoubletSB : delta =" <<
m_priorSign*dev
274 <<
" @pivot=" << pCh <<
" @onner="<< iCh << std::endl;
286 if((0 <= iCh)&&(iCh < LCOut[0]->getLength())){
287 A = LCOut[0]->getChannel(iCh);
289 if((0 <= iCh)&&(iCh < LCOut[1]->getLength())){
290 B = LCOut[1]->getChannel(iCh);
292 if((0 <= pCh)&&(pCh < LCOut[2]->getLength())){
293 C = LCOut[2]->getChannel(pCh);
295 if((0 <= pCh)&&(pCh < LCOut[3]->getLength())){
296 D = LCOut[3]->getChannel(pCh);
319 std::cout <<
"# DoubletSB : delta =" << -
m_priorSign*dev
320 <<
" @pivot=" << pCh <<
" @onner="<< iCh << std::endl;
◆ doDecluster()
void LVL1TGCTrigger::TGCSlaveBoard::doDecluster |
( |
| ) |
|
|
protectedinherited |
Definition at line 190 of file TGCSlaveBoard.cxx.
203 out->setChannel(
i,( !B & C & !D )|( !
A & B & C ));
210 out->setChannel(0,( !B & C & !D )|( !
A & B & C ));
216 out->setChannel(1,( !B & C & !D )|( !
A & B & C ));
222 out->setChannel(
length-1,( !B & C & !D )|( !
A & B & C ));
◆ doLocalCoincidence()
Definition at line 73 of file TGCDoubletSB.cxx.
75 TGCHitPattern** LCOut = 0;
76 const TGCHitPattern* inner = PPOut->getHitPattern(0);
77 const TGCHitPattern* pivot = PPOut->getHitPattern(1);
79 if((inner!=0)&&(pivot!=0)){
80 int iLength = inner->getLength();
81 int pLength = pivot->getLength();
84 bool* bi =
new bool [iLength];
85 bool* bp =
new bool [pLength];
87 for(
i=0;
i<iLength/2;
i+=1){
88 bi[2*
i]=inner->getChannel(
i);
89 bi[2*
i+1]=inner->getChannel(
i+iLength/2);
91 for(
i=0;
i<pLength/2;
i+=1){
92 bp[2*
i]=pivot->getChannel(
i);
93 bp[2*
i+1]=pivot->getChannel(
i+pLength/2);
97 LCOut =
new TGCHitPattern* [4];
98 LCOut[0] =
new TGCHitPattern (iLength);
99 LCOut[1] =
new TGCHitPattern (iLength);
100 LCOut[2] =
new TGCHitPattern (pLength);
101 LCOut[3] =
new TGCHitPattern (pLength);
115 LCOut[0]->setChannel(
i,
false);
116 LCOut[1]->setChannel(
i,(bi[
i] & !bi[
i+1]));
118 for(
i = 1;
i<iLength-1;
i+=1){
119 LCOut[0]->setChannel(
i,(bi[
i-1] & bi[
i]));
120 LCOut[1]->setChannel(
i,((!bi[
i-1] & bi[
i] & !bi[
i+1]) |
121 (bi[
i-1] & !bi[
i] & bi[
i+1])));
124 LCOut[0]->setChannel(
i,(bi[
i-1] & bi[
i]));
125 LCOut[1]->setChannel(
i,(!bi[
i-1] & bi[
i]));
129 std::cout <<
"C,D i";
130 for(j = 0; j<iLength; j++){
134 std::cout << (j%10)+1;
137 std::cout << std::endl <<
"2hit ";
139 std::cout << std::endl <<
"1hit ";
141 std::cout << std::endl;
169 LCOut[2]->setChannel(0, bp[0] & !bp[1]);
170 LCOut[3]->setChannel(0, bp[0] & bp[1]);
171 for(
i=1;
i<pLength-1;
i+=1){
172 LCOut[2]->setChannel(
i,((!bp[
i-1] & bp[
i] & !bp[
i+1]) |
173 ( bp[
i-1] & !bp[
i] & bp[
i+1])));
174 LCOut[3]->setChannel(
i,(bp[
i] & bp[
i+1]));
178 LCOut[2]->setChannel(
i,!bp[
i-1] & bp[
i]);
179 LCOut[3]->setChannel(
i,
false);
182 std::cout <<
"A,B p";
183 for(j = 0; j<pLength; j++){
187 std::cout << (j%10)+1;
190 std::cout << std::endl <<
"1hit ";
192 std::cout << std::endl <<
"2hit ";
194 std::cout << std::endl;
◆ doMaskOperation()
void LVL1TGCTrigger::TGCSlaveBoard::doMaskOperation |
( |
| ) |
|
|
inlineprotectedinherited |
◆ element()
bool LVL1TGCTrigger::TGCDoubletSB::element |
( |
bool |
A, |
|
|
bool |
B, |
|
|
bool |
C, |
|
|
bool |
D |
|
) |
| |
|
protectedinherited |
◆ eraseOutput()
void LVL1TGCTrigger::TGCSlaveBoard::eraseOutput |
( |
| ) |
|
|
inherited |
◆ getId()
int LVL1TGCTrigger::TGCSlaveBoard::getId |
( |
| ) |
const |
|
inlineinherited |
◆ getIdHighPtBoard()
int LVL1TGCTrigger::TGCSlaveBoard::getIdHighPtBoard |
( |
| ) |
const |
|
inherited |
◆ getOutput()
◆ getRegion()
◆ GetSlbIn()
const std::bitset<200>& LVL1TGCTrigger::TGCSlaveBoard::GetSlbIn |
( |
void |
| ) |
const |
|
inlineinherited |
◆ getType()
int LVL1TGCTrigger::TGCSlaveBoard::getType |
( |
| ) |
const |
|
inlineinherited |
◆ getTypeName()
std::string LVL1TGCTrigger::TGCSlaveBoard::getTypeName |
( |
int |
typeIn | ) |
const |
|
inherited |
◆ setId()
void LVL1TGCTrigger::TGCSlaveBoard::setId |
( |
int |
idIn | ) |
|
|
inlineinherited |
◆ setIdHighPtBoard()
void LVL1TGCTrigger::TGCSlaveBoard::setIdHighPtBoard |
( |
int |
m_id | ) |
|
|
inherited |
◆ setPatchPanel()
void LVL1TGCTrigger::TGCSlaveBoard::setPatchPanel |
( |
TGCPatchPanel * |
PPIn | ) |
|
|
inherited |
◆ setPatchPanelOut()
void LVL1TGCTrigger::TGCSlaveBoard::setPatchPanelOut |
( |
TGCPatchPanelOut * |
PPOut | ) |
|
|
inlineinherited |
◆ setRegion()
void LVL1TGCTrigger::TGCSlaveBoard::setRegion |
( |
TGCRegionType |
regionIn | ) |
|
|
inlineinherited |
◆ setType()
void LVL1TGCTrigger::TGCSlaveBoard::setType |
( |
int |
typeIn | ) |
|
|
inlineinherited |
◆ showResult()
void LVL1TGCTrigger::TGCSlaveBoard::showResult |
( |
| ) |
const |
|
inherited |
Definition at line 133 of file TGCSlaveBoard.cxx.
140 std::cout<<
"#SB I: BID= "<<
m_bid;
145 std::cout <<
" port= "<<
i;
146 std::cout <<
"" <<
m_id;
155 std::cout <<
"#SB O: BID= " <<
m_bid;
158 std::cout <<
" ID= " <<
m_id <<
":";
161 std::cout <<
" i= " <<
i;
167 std::cout<<std::endl;
◆ storeSlbIn()
void LVL1TGCTrigger::TGCSlaveBoard::storeSlbIn |
( |
| ) |
|
|
inherited |
◆ m_bid
int LVL1TGCTrigger::TGCSlaveBoard::m_bid |
|
protectedinherited |
◆ m_coincidenceOut
◆ m_iChBase
int LVL1TGCTrigger::TGCDoubletSB::m_iChBase |
|
protectedinherited |
◆ m_id
int LVL1TGCTrigger::TGCSlaveBoard::m_id |
|
protectedinherited |
◆ m_idHighPtBoard
int LVL1TGCTrigger::TGCSlaveBoard::m_idHighPtBoard |
|
protectedinherited |
◆ m_lengthOfCoincidenceOut
int LVL1TGCTrigger::TGCSlaveBoard::m_lengthOfCoincidenceOut |
|
protectedinherited |
◆ m_MatrixOverlap
int LVL1TGCTrigger::TGCDoubletSB::m_MatrixOverlap |
|
protectedinherited |
◆ m_maxDev
int LVL1TGCTrigger::TGCDoubletSB::m_maxDev |
|
protectedinherited |
◆ m_nChAdj
int LVL1TGCTrigger::TGCDoubletSB::m_nChAdj |
|
protectedinherited |
◆ m_nChInBlock
int LVL1TGCTrigger::TGCDoubletSB::m_nChInBlock |
|
protectedinherited |
◆ m_negMaxDev
int LVL1TGCTrigger::TGCDoubletSB::m_negMaxDev |
|
protectedinherited |
◆ m_numberOfData
int LVL1TGCTrigger::TGCDoubletSB::m_numberOfData |
|
protectedinherited |
◆ m_patchPanel
◆ m_patchPanelOut
◆ m_posMaxDev
int LVL1TGCTrigger::TGCDoubletSB::m_posMaxDev |
|
protectedinherited |
◆ m_priorSign
int LVL1TGCTrigger::TGCDoubletSB::m_priorSign |
|
protectedinherited |
◆ m_region
◆ m_slaveBoardOut
◆ m_slbin
std::bitset<200> LVL1TGCTrigger::TGCSlaveBoard::m_slbin |
|
protectedinherited |
◆ m_SType
◆ m_type
int LVL1TGCTrigger::TGCSlaveBoard::m_type |
|
protectedinherited |
◆ s_iLength
constexpr int LVL1TGCTrigger::TGCSlaveBoard::s_iLength[6] = {36,44,32,32,32,32} |
|
staticconstexprprivateinherited |
◆ s_iOffset
constexpr int LVL1TGCTrigger::TGCSlaveBoard::s_iOffset[6] = {4,0,6,6,6,6} |
|
staticconstexprprivateinherited |
◆ s_pLength
constexpr int LVL1TGCTrigger::TGCSlaveBoard::s_pLength[6] = {36,36,32,32,32,32} |
|
staticconstexprprivateinherited |
◆ s_pOffset
constexpr int LVL1TGCTrigger::TGCSlaveBoard::s_pOffset[6] = {0,0,2,2,2,2} |
|
staticconstexprprivateinherited |
The documentation for this class was generated from the following file:
const TGCPatchPanel * getOrigin() const
void do3outof4Coincedence(TGCHitPattern **LCOut)
int getDev(int iData) const
void print(int unit) const
static constexpr int s_iOffset[6]
virtual void doCoincidence()=0
std::string getTypeName(int typeIn) const
int getNumberOfData() const
void setDev(int iData, int devIn)
void setbDev(int block, int sign, int dr)
TGCHitPattern * getbPos(int iData)
static constexpr int s_iLength[6]
static constexpr int s_pLength[6]
int getPos(int iData) const
TGCHitPattern ** doLocalCoincidence(const TGCPatchPanelOut *PPOut)
bool element(bool A, bool B, bool C, bool D)
std::bitset< 200 > m_slbin
void eraseOutput(int SBId)
void onChannel(int iChannel)
void setLength(int length)
void setPos(int iData, int posIn)
static constexpr int s_pOffset[6]
void setHit(int iData, bool hitIn)
bool getChannel(int iChannel) const
TGCPatchPanelOut * getOutput(int SBId)
const int NumberOfConnectorPerPPOut
TGCSlaveBoardOut * m_slaveBoardOut
bool getHit(int iData) const
virtual void doCoincidenceInSubMatrix(const int block, TGCHitPattern **LCOut)
void deletePatchPanelOut()
virtual void createSlaveBoardOut()=0
void setbPos(int block, int pos)
const TGCHitPattern * getHitPattern(int connector) const
const int NumberOfDoubletSBData
TGCRegionType getRegion() const
TGCPatchPanel * m_patchPanel
TGCPatchPanelOut * m_patchPanelOut
void setNumberOfData(int nData)
void visual(int Cycle, int Width, int Tag) const
TGCHitPattern * m_coincidenceOut