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;
123 val = (value.first >> (i*16+pos)) & len;
124 if (val == len)
roi(i, -1);
130 val = (value.first >> (i*16+pos)) & len;
131 if (val == len)
pt(i, -1);
137 val = (value.first >> (i*16+pos)) & len;
138 if (val > 0)
charge(i, +1);
144 val = (value.first >> (i*16+pos)) & len;
150 val = (value.first >> (i*16+pos)) & len;
156 val = (value.first >> (i*16+pos)) & len;
167 val = value.second & len;
173 val = (value.second >> pos) & len;
179 val = (value.second >> pos) & len;
192 out <<
"Bit 0-7 " <<
" ROI<" << i+1 <<
"> ";
193 if (
roi(i) == -1) out <<
"NA" << std::endl;
194 else out << std::setw(8) <<
roi(i) << std::endl;
196 out <<
"Bit 8-11 "<<
"Pt" << i+1 <<
" ";
197 if (
pt(i) == -1) out <<
"No Hit" << std::endl;
198 else out <<
pt(i) << std::endl;
200 out <<
"Bit 12 "<<
"2 candidates in ROI<" << i+1 <<
"> ";
203 out <<
"Bit 13-14 "<<
"overlap<"<<i+1<<
"> ";
204 out << std::setw(8) <<
ovl(i) << std::endl;
206 out <<
"Bit 15 "<<
"charge<"<<i+1<<
"> ";
207 out << std::setw(8) <<
charge(i) << std::endl;
209 out <<
"Bit 0-11 " <<
" BCID ";
210 out << std::setw( 8 ) <<
bcid() << std::endl;
212 out <<
"Bit 12 " <<
" >2candidates in a sector ";
215 out <<
"Bit 13 " <<
" NSW monitoring ";
216 out << std::setw( 8 ) <<
m_nsw << std::endl;
const Lvl1MuSectorLogicDataPhase1 & convertFromWordFormat(const SectorLogicWord &)
Convert SectorLogicDataPhase1 from 32 bit word data.
SectorLogicWord getWordFormat() const
Get data in 32 bit word format.
Lvl1MuForwardSectorLogicDataPhase1()
Lvl1MuForwardSectorLogicDataPhase1 & operator=(const Lvl1MuSectorLogicDataPhase1 &right)
virtual void printOut(std::ostream &out) const
print out data
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]