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 : {
22 0 : std::vector<const dunedaq::confmodel::DetDataSender*> senders;
23 0 : if (m_felix_senders.empty()) {
24 0 : std::lock_guard scoped_lock(m_mutex);
25 0 : check_init();
26 0 : }
27 0 : for (auto sender : m_felix_senders) {
28 0 : senders.push_back(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 : {
36 0 : if (m_felix_senders.empty()) {
37 0 : std::lock_guard scoped_lock(m_mutex);
38 0 : check_init();
39 0 : }
40 0 : return (m_felix_receiver);
41 : }
42 :
43 : } // namespace dunedaq::appmodel
|