33createSourceModel(
const std::string& conn_uid,
bool callback_mode)
36 if (datatypes.size() != 1) {
38 "Multiple output data types specified! Expected only a single type!"));
40 std::string raw_dt{ *datatypes.begin() };
41 TLOG() <<
"Choosing specializations for SourceModel for output connection "
42 <<
" [uid:" << conn_uid <<
" , data_type:" << raw_dt <<
']';
44 if (raw_dt.find(
"WIBEthFrame") != std::string::npos) {
46 auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::DUNEWIBEthTypeAdapter>>();
49 source_model->set_sink_name(conn_uid);
52 source_model->set_sink(conn_uid, callback_mode);
69 }
else if (raw_dt.find(
"TDEFrame") != std::string::npos) {
71 auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::TDEFrameTypeAdapter>>();
72 source_model->set_sink_name(conn_uid);
73 source_model->set_sink(conn_uid, callback_mode);
77 }
else if (raw_dt.find(
"CRTBernFrame") != std::string::npos) {
78 auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::CRTBernTypeAdapter>>();
79 source_model->set_sink_name(conn_uid);
80 source_model->set_sink(conn_uid, callback_mode);
82 }
else if (raw_dt.find(
"CRTGrenobleFrame") != std::string::npos) {
83 auto source_model = std::make_shared<SourceModel<fdreadoutlibs::types::CRTGrenobleTypeAdapter>>();
84 source_model->set_sink_name(conn_uid);
85 source_model->set_sink(conn_uid, callback_mode);