22 (
this != &right ) ) {
55 val.first |= len << (i*16+pos);
58 else val.first |= (
roi(i) & len) << (i*16+pos);
67 if (
pt(i) < 0) val.first |= len << (i*16+pos);
68 else val.first |= (
pt(i) & len) << (i*16+pos);
82 if (!noROI ||
ovl(i) < 0) val.first |= len << (i*16+pos);
83 else val.first |= (
ovl(i) & len) << (i*16+pos);
88 if (
charge(i) > 0) val.first |= (1 >> (i*16+pos)) & len;
100 val.second |= (
bcid() & len);
127 val = (value.first >> (i*16+pos)) & len;
143 val = (value.first >> (i*16+pos)) & len;
144 if (val == len)
pt(i, -1);
154 val = (value.first >> (i*16+pos)) & len;
161 val = (value.first >> (i*16+pos)) & len;
162 if (!noROI)
ovl(i, val);
167 val = (value.first >> (i*16+pos)) & len;
168 if (val > 0)
charge(i, +1);
179 val = value.second & len;
185 val = (value.second >> pos) & len;
201 out <<
"Bit 0-4 " <<
" ROI<" << i+1 <<
"> ";
202 if (
roi(i) == -1) out <<
"NA" << std::endl;
203 else out << std::setw(8) <<
roi(i) << std::endl;
205 out <<
"Bit 8-10 "<<
"Pt" << i+1 <<
" ";
206 if (
pt(i) == -1) out <<
"No Hit" << std::endl;
207 else out <<
pt(i) << std::endl;
209 out <<
"Bit 12 "<<
"2 candidates in ROI<" << i+1 <<
"> ";
212 out <<
"Bit 13-14 "<<
"overlap<"<<i+1<<
"> ";
213 out << std::setw(8) <<
ovl(i) << std::endl;
215 out <<
"Bit 15 "<<
"charge<"<<i+1<<
"> ";
216 out << std::setw(8) <<
charge(i) << std::endl;
218 out <<
"Bit 0-11 " <<
" BCID ";
219 out << std::setw( 8 ) <<
bcid() << std::endl;
221 out <<
"Bit 12 " <<
" >2candidates in a sector ";
virtual SectorLogicWord getWordFormat() const override
Get data in 32 bit word format.
Lvl1MuBarrelSectorLogicDataPhase1 & operator=(const Lvl1MuSectorLogicDataPhase1 &right)
virtual void printOut(std::ostream &out) const override
print out data
virtual const Lvl1MuSectorLogicDataPhase1 & convertFromWordFormat(const SectorLogicWord &) override
Convert SectorLogicDataPhase1 from 32 bit word data.
Lvl1MuBarrelSectorLogicDataPhase1()
bool is2candidatesInSector() const
int charge(size_t id) const
std::vector< bool > m_2candidates
bool is2candidates(size_t id) const
void clear2candidatesInSector()
bool m_2candidatesInSector
std::vector< int > m_charge
void set2candidatesInSector()
void clear2candidates(size_t id)
std::pair< unsigned long int, unsigned short int > SectorLogicWord
Lvl1MuSectorLogicDataPhase1()
void set2candidates(size_t id)
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_OVL[3]
static const unsigned int NBITS_IS2CANDIDATESINSECTOR[3]
static const unsigned int NBITS_PT[3]
static const size_t NCAND[3]
static const unsigned int NBITS_BCID[3]
static const unsigned int NBITS_IS2CANDIDATES[3]