14 const std::string& name,
15 const IInterface* parent) :
16 base_class(
type, name, parent) {
27 return StatusCode::FAILURE;
34 return StatusCode::FAILURE;
54 }
catch (
const std::exception& e) {
57 return StatusCode::FAILURE;
66 for (ulong i =
m_n_multbits; i != 0; --i) { maxtob *= 2;}
70 return StatusCode::SUCCESS;
75 const EventContext& ctx)
const {
80 CHECK(tobs.isValid());
84 auto selected = std::make_unique<bool>(
false);
87 std::vector<bool> tob_pass(tobs->size(),
false);
90 tob_pass[tob_count] =
true;
92 tob_pass[tob_count] =
true;
102 auto count_bits = std::bitset<s_nbits_TIP>(tob_count);
109 for (; p0 != mxb; ++p0, ++p1) {
110 if (count_bits.test(p0)) {word.set(p1);}
117 std::stringstream
ss;
118 ss <<
"\nRun " << ctx <<
' ' <<
"TIP:\n" << word <<
'\n';
121 ss << *tob <<
' ' << std::boolalpha <<
" pass " << tob_pass[ind++] <<
'\n';
123 ss <<
"tob count " << tob_count <<
'\n';
125 std::ofstream out(name() +
".log", std::ios_base::app);
131 return StatusCode::SUCCESS;
135 std::stringstream
ss;
137 <<
"eEmMultAlgTool read, select, count and report number of related eEmTOBS\n"
#define CHECK(...)
Evaluate an expression and check for errors.
Class to hold eFexROI TOB bits.
AlgTool that to test whether expected the TIP values generated by data supplied by eEmMultTestBench c...