Line data Source code
1 : /**
2 : * @file FelixDetectorToDaqConnection.cpp
3 : *
4 : * Implementation of FelixDetectorToDaqConnection methods
5 : *
6 : * This is part of the DUNE DAQ Software Suite, copyright 2023.
7 : * Licensing/copyright details are in the COPYING file that you should have
8 : * received with this code.
9 : */
10 :
11 : #include "appmodel/FelixDetectorToDaqConnection.hpp"
12 : #include "appmodel/FelixDataReceiver.hpp"
13 : #include "appmodel/FelixDataSender.hpp"
14 : #include "confmodel/DetDataReceiver.hpp"
15 : #include "confmodel/DetDataSender.hpp"
16 :
17 : namespace dunedaq::appmodel {
18 :
19 : std::vector<const dunedaq::confmodel::DetDataSender*>
20 0 : FelixDetectorToDaqConnection::senders() const {
21 0 : std::vector<const dunedaq::confmodel::DetDataSender*> senders;
22 0 : if (m_felix_senders.empty()) {
23 0 : std::lock_guard scoped_lock(m_mutex);
24 0 : check_init();
25 0 : }
26 0 : for (auto sender: m_felix_senders) {
27 0 : senders.push_back(
28 0 : dynamic_cast<const dunedaq::confmodel::DetDataSender*>(sender));
29 : }
30 0 : return senders;
31 0 : }
32 :
33 : const confmodel::DetDataReceiver*
34 0 : FelixDetectorToDaqConnection::receiver() const {
35 0 : if (m_felix_senders.empty()) {
36 0 : std::lock_guard scoped_lock(m_mutex);
37 0 : check_init();
38 0 : }
39 0 : return (m_felix_receiver);
40 : }
41 :
42 : } // namespace dunedaq::appmodel
|