HLCC Documentation 3.0.1
Loading...
Searching...
No Matches
activityDoEstimation.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_TELIF_ELTPK_ACTIVITYDOESTIMATION_HPP
14#define HLCC_TELIF_ELTPK_ACTIVITYDOESTIMATION_HPP
15
16#include <string>
17
18#include <rad/configurableActivity.hpp>
19#include <rad/activity.hpp>
20#include <rad/smAdapter.hpp>
21#include <ptk/angles.hpp>
22#include <ptk/posastro.hpp>
23
24#include "eltpk/monitoring.hpp"
25#include "eltpk/logger.hpp"
26#include "eltpk/lsvClient.hpp"
27
28
29
30
31namespace hlcc::eltpk {
32
33class DataContext;
34
38class ActivityDoEstimation : public rad::ConfigurableActivity {
39public:
40 ActivityDoEstimation(const std::string& id,
41 rad::SMAdapter& sm,
43 virtual ~ActivityDoEstimation();
44
45 void Run() override;
46
51 void Initialize() override;
52
59 void Configure(const std::vector<std::string>& keys) override;
60
63
78 void CheckRefreshExternalAsync(taiclock::TaiClock::time_point time_loop);
79
80
81private:
82
87 void ComputePointingKernelPositions(
88 ::taiclock::TaiClock::time_point now_tai,
89 ElapsedTimeStats& stats);
90
91 const log4cplus::Logger m_logger;
92 rad::SMAdapter& m_sm;
93 DataContext& m_data_context;
94
98 static constexpr std::chrono::milliseconds PERIOD = std::chrono::milliseconds{50};
99
103 const ptk::CirsObservedConverter m_cirs_obs_conv;
104
108 LsvClient m_lsv_client;
109
113 taiclock::TaiClock::time_point m_last_refresh_external;
114};
115
116
117} // namespace hlcc::eltpk
118
119#endif // HLCC_TELIF_ELTPK_ACTIVITYDOESTIMATION_HPP
Default logger name.
Performance and other monitoring.
virtual ~ActivityDoEstimation()
Definition activityDoEstimation.cpp:40
ActivityDoEstimation(const std::string &id, rad::SMAdapter &sm, DataContext &data)
Definition activityDoEstimation.cpp:28
void Run() override
Definition activityDoEstimation.cpp:143
void Configure(const std::vector< std::string > &keys) override
Definition activityDoEstimation.cpp:334
void CheckRefreshExternalAsync(taiclock::TaiClock::time_point time_loop)
Disable assignment operator.
Definition activityDoEstimation.cpp:316
ActivityDoEstimation & operator=(const ActivityDoEstimation &)=delete
Disable copy constructor.
ActivityDoEstimation(const ActivityDoEstimation &)=delete
void Initialize() override
Definition activityDoEstimation.cpp:330
Definition dataContext.hpp:108
Definition monitoring.hpp:31
Definition lsvClient.hpp:43
LsvClient class header file.
Definition actionMgr.cpp:31
ccsinsdetifllnetio::PointingKernelPositions data
Definition pkp_llnetio_subscriber.cpp:29