29 bool successfulInitialization(
true);
30 uint32_t subWords[
nSubwords]={mask0,mask1,mask2,mask3};
32 std::bitset<lenSubword> subBinary;
33 for (
unsigned int i{0}; i!=
nSubwords; ++i) {
34 subBinary = subWords[i];
40 return successfulInitialization;
46 bool successfulInitialization(
true);
47 std::istringstream formatStream(maskString);
52 formatStream.exceptions(std::ios_base::badbit|std::ios_base::failbit);
55 formatStream >> std::hex >> subWords[
nSubwords-1]
59 }
catch(
const std::ios_base::failure&) {
60 std::cerr <<
"The SCT_ChipMask code has failed to convert the received string to a mask; the received string is: ";
61 std::cerr << maskString << std::endl;
62 successfulInitialization =
false;
66 return successfulInitialization;
71 return !(
m_mask.test(channelNumber));
81 for (
unsigned int thisChann(0);thisChann !=
nBitsMask; ++thisChann){
82 if (
channelIsMasked(thisChann)) maskedChannelVector.push_back(thisChann);
Header file storing infomration on the SCT chips: id, config, mask.
std::bitset< nBitsMask > m_mask
Chip strip mask.
unsigned int numberOfMaskedChannels() const
Number of masked channels.
short m_in
Active input port.
bool m_master
Is chip a master.
bool channelIsMasked(const unsigned int channelNumber) const
Gives status of channel at channelNumber.
bool initializeMaskFromString(const std::string &maskString)
Initialize channel mask from a string.
SCT_Chip()
Default constructor.
bool initializeMaskFromInts(uint32_t mask0, uint32_t mask1, uint32_t mask2, uint32_t mask3)
Initialize channel mask from four ins (as in DB)
std::bitset< nBitsConfig > m_config
Chip configuration mask.
short m_out
Active output port.
bool m_end
Is chip an end.
void appendBadStripsToVector(std::vector< int > &maskedChannelVector) const
Append masked channels' numbers to a user-supplied vector.