20 (
this != &right ) ) {
53 if (
roi(i) < 0) val.first |= len << (i*16+pos);
54 else val.first |= (
roi(i) & len) << (i*16+pos);
59 val.first |= (
pt(i) & len) << (i*16+pos);
64 val.first |= (
charge(i) & len) << (i*16+pos);
69 val.first |= (
bw2or3(i) & len) << (i*16+pos);
74 if (
charge(i) > 0) val.first |= (1 >> (i*16+pos)) & len;
79 val.first |= (
goodmf(i) & len) << (i*16+pos);
90 val.second |= (
bcid() & len);
101 if (
nsw()) val.second |= (1 >> pos) & len;
122 val = (value.first >> (i*16+pos)) & len;
123 if (val == len)
roi(i, -1);
129 val = (value.first >> (i*16+pos)) & len;
130 if (val == len)
pt(i, -1);
136 val = (value.first >> (i*16+pos)) & len;
137 if (val > 0)
charge(i, +1);
143 val = (value.first >> (i*16+pos)) & len;
149 val = (value.first >> (i*16+pos)) & len;
155 val = (value.first >> (i*16+pos)) & len;
166 val = value.second & len;
172 val = (value.second >> pos) & len;
178 val = (value.second >> pos) & len;
191 out <<
"Bit 0-7 " <<
" ROI<" << i+1 <<
"> ";
192 if (
roi(i) == -1) out <<
"NA" << std::endl;
193 else out << std::setw(8) <<
roi(i) << std::endl;
195 out <<
"Bit 8-11 "<<
"Pt" << i+1 <<
" ";
196 if (
pt(i) == -1) out <<
"No Hit" << std::endl;
197 else out <<
pt(i) << std::endl;
199 out <<
"Bit 12 "<<
"2 candidates in ROI<" << i+1 <<
"> ";
202 out <<
"Bit 13-14 "<<
"overlap<"<<i+1<<
"> ";
203 out << std::setw(8) <<
ovl(i) << std::endl;
205 out <<
"Bit 15 "<<
"charge<"<<i+1<<
"> ";
206 out << std::setw(8) <<
charge(i) << std::endl;
208 out <<
"Bit 0-11 " <<
" BCID ";
209 out << std::setw( 8 ) <<
bcid() << std::endl;
211 out <<
"Bit 12 " <<
" >2candidates in a sector ";
214 out <<
"Bit 13 " <<
" NSW monitoring ";
215 out << std::setw( 8 ) <<
m_nsw << std::endl;
SectorLogicWord getWordFormat() const
Get data in 32 bit word format.
virtual void printOut(std::ostream &out) const
print out data
Lvl1MuEndcapSectorLogicDataPhase1()
const Lvl1MuSectorLogicDataPhase1 & convertFromWordFormat(const SectorLogicWord &)
Convert SectorLogicDataPhase1 from 32 bit word data.
Lvl1MuEndcapSectorLogicDataPhase1 & operator=(const Lvl1MuSectorLogicDataPhase1 &right)
bool is2candidatesInSector() const
std::vector< int > m_innercoin
int goodmf(size_t id) const
int bw2or3(size_t id) const
int charge(size_t id) const
std::vector< bool > m_2candidates
bool is2candidates(size_t id) const
int innercoin(size_t id) const
std::vector< int > m_goodmf
void clear2candidatesInSector()
bool m_2candidatesInSector
std::vector< int > m_charge
std::vector< int > m_bw2or3
void set2candidatesInSector()
int veto(size_t id) const
std::vector< int > m_veto
std::pair< unsigned long int, unsigned short int > SectorLogicWord
Lvl1MuSectorLogicDataPhase1()
Namespace for the LVL1 muon interface classes.
static const unsigned int NBITS_CHARGE[3]
static const unsigned int NBITS_ROI[3]
static const unsigned int NBITS_BW2OR3[3]
static const unsigned int NBITS_IS2CANDIDATESINSECTOR[3]
static const unsigned int NBITS_GOODMF[3]
static const unsigned int NBITS_PT[3]
static const size_t NCAND[3]
static const unsigned int NBITS_NSWMON[3]
static const unsigned int NBITS_BCID[3]
static const unsigned int NBITS_INNERCOIN[3]