HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
activitySim.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020-2025 European Southern Observatory (ESO)
2//
3// SPDX-License-Identifier: LGPL-3.0-only
4
13#ifndef HLCC_PFSSIMHLCC_ACTIVITY_SIM_HPP
14#define HLCC_PFSSIMHLCC_ACTIVITY_SIM_HPP
15
16#include <string>
17#include <mutex>
18#include <atomic>
19
20#include <rad/configurableActivity.hpp>
21#include <rad/smAdapter.hpp>
22
23#include "pfssimhlcc/logger.hpp"
24
25
26namespace hlcc::pfssimhlcc {
27
28class DataContext;
29
34class ActivitySim : public rad::ConfigurableActivity {
35 public:
43 ActivitySim(const std::string& id, rad::SMAdapter& sm, DataContext& data);
44 virtual ~ActivitySim();
45
50 void Initialize() override;
51
58 void Configure(const std::vector<std::string>& keys) override;
59
63 void Run() override;
64
65 ActivitySim(const ActivitySim&) = delete;
66 ActivitySim& operator=(const ActivitySim&) = delete;
67
68 private:
69 log4cplus::Logger m_logger;
70 rad::SMAdapter& m_sm;
71 DataContext& m_data;
72 // When we need to refresh the configuration in simulation scripts
73 std::atomic<bool> reload_configuration;
74 // When we need to reload the modules due to script changes or other.
75 std::atomic<bool> reload_modules;
76};
77
78} // namespace hlcc::pfssimhlcc
79
80#endif // HLCC_PFSSIMHLCC_ACTIVITY_SIM_HPP
Definition activitySim.hpp:34
ActivitySim(const ActivitySim &)=delete
virtual ~ActivitySim()
Definition activitySim.cpp:46
void Run() override
Definition activitySim.cpp:68
void Configure(const std::vector< std::string > &keys) override
Definition activitySim.cpp:52
ActivitySim & operator=(const ActivitySim &)=delete
Disable copy constructor.
ActivitySim(const std::string &id, rad::SMAdapter &sm, DataContext &data)
Definition activitySim.cpp:36
void Initialize() override
Definition activitySim.cpp:48
Definition dataContext.hpp:41
Definition actionMgr.cpp:34
Default logger name.
ccsinsdetifllnetio::PointingKernelPositions data
Definition pkp_llnetio_subscriber.cpp:33