13#ifndef HLCC_TRKSIM_DATACONTEXT_HPP
14#define HLCC_TRKSIM_DATACONTEXT_HPP
19#include <ptk/posastro.hpp>
20#include <taiclock/taiClock.hpp>
21#include <rad/dataContext.hpp>
22#include "mal/utility/shared_vector.hpp"
23#include "Ccsinsif.hpp"
24#include "Ccsinsdetif.hpp"
45 std::optional<ptk::Radians>
alt;
46 std::optional<ptk::Radians>
az;
62 DataContext(std::shared_ptr<OldbInterface> oldb_interface =
nullptr);
119 std::shared_ptr<const ::ccscommonif::TargetData>
GetPresetData()
const;
125 void SetTargetData(std::shared_ptr<const ::ccscommonif::TargetData> preset_args);
166 void AddSkyOffset(ptk::Radians delta_ra, ptk::Radians delta_dec);
196 ::taiclock::TaiClock::time_point time_tai = ::taiclock::TaiClock::time_point{})
const;
248 ElapsedTimeStats& stats, ::taiclock::TaiClock::time_point time_tai = ptk::NextTimeEvent());
381 std::shared_ptr<OldbInterface> m_oldb_interface;
383 bool m_is_publishing_enabled;
392 std::shared_ptr<const ::ccscommonif::TargetData> m_preset_args;
402 ptk::EquatorialPosition m_ra_dec_target;
409 ptk::EquatorialPosition m_ra_dec_target_cirs;
421 bool m_ra_dec_target_is_valid;
438 std::map<::taiclock::TaiClock::time_point, ptk::HorizonPositionEsoTimestamped> m_alt_az_target_map;
446 bool m_alt_az_target_is_valid;
453 ptk::HorizonPositionEsoTimestamped alt_az_current;
472 bool m_site_info_published;
473 bool m_site_info_first_iteration;
483 mutable std::recursive_mutex m_mutex;
489 std::atomic<bool> is_initialized;
AmbientData class header file.
Definition ambientData.hpp:48
Definition config.hpp:254
EstimatedState GetEstimatedState() const
Definition dataContext.cpp:532
virtual ~DataContext()
Definition dataContext.cpp:53
bool IsPublishingEnabled() const
Definition dataContext.cpp:101
bool GetTargetAltAzValidity() const
Definition dataContext.cpp:481
Config & GetConfig() override
Definition dataContext.cpp:108
const Config & GetConfigConst() const
Definition dataContext.cpp:114
std::shared_ptr< const ::ccscommonif::TargetData > GetPresetData() const
Definition dataContext.cpp:152
void SetTargetRaDecValidity(bool is_valid)
Definition dataContext.cpp:228
void AddSkyOffset(ptk::Radians delta_ra, ptk::Radians delta_dec)
Definition dataContext.cpp:245
void SetTargetAltAz(const ptk::HorizonPositionEsoTimestamped &alt_az, ElapsedTimeStats &stats)
DataContext(std::shared_ptr< OldbInterface > oldb_interface=nullptr)
Definition dataContext.cpp:34
EstimatedState
Definition dataContext.hpp:293
@ UNDEFINED
Definition dataContext.hpp:300
@ STANDING_STILL
Definition dataContext.hpp:308
@ PRESETTING
Definition dataContext.hpp:312
@ TRACKING
Definition dataContext.hpp:316
@ MOVING
Definition dataContext.hpp:321
void ReloadConfig() override
Definition dataContext.cpp:120
std::optional< ptk::HorizonPositionEsoTimestamped > GetTargetAltAz(::taiclock::TaiClock::time_point time_tai=::taiclock::TaiClock::time_point{}) const
Definition dataContext.cpp:312
hlcc::ambientdataclient::AmbientData & GetAmbientData()
Definition dataContext.cpp:144
void SetCurrentAltAz(const ptk::HorizonPositionEsoTimestamped &alt_az)
DataContext(const DataContext &)=delete
ptk::EquatorialPosition GetTargetRaDecCirs() const
Definition dataContext.cpp:194
void UpdateDb() override
Definition dataContext.cpp:61
void EnablePublishing(bool enabled)
Definition dataContext.cpp:95
void SetTargetData(std::shared_ptr< const ::ccscommonif::TargetData > preset_args)
Definition dataContext.cpp:169
void SetTargetRaDecCirs(const ptk::EquatorialPosition &pos_cirs)
Definition dataContext.cpp:202
OldbInterface & GetOldbInterface() override
Definition dataContext.cpp:90
void SetTargetAltAzToCurrent(ElapsedTimeStats &stats)
Definition dataContext.cpp:425
ptk::EquatorialPosition GetTargetRaDec() const
Definition dataContext.cpp:160
ptk::HorizonPositionEsoTimestamped GetCurrentAltAz() const
Definition dataContext.cpp:495
ptk::HorizonPositionEsoTimestamped MergeTargetAltAz(const AltAzOptional &alt_az, ElapsedTimeStats &stats, ::taiclock::TaiClock::time_point time_tai=ptk::NextTimeEvent())
Definition dataContext.cpp:434
bool GetTargetRaDecValidity() const
Definition dataContext.cpp:222
DataContext & operator=(const DataContext &)=delete
Disable copy constructor.
ptk::PositionOnEarth GetSitePosition() const
Definition dataContext.cpp:133
void SetTargetAltAzValidity(bool is_valid)
Definition dataContext.cpp:487
void SetEstimatedState(EstimatedState state)
Definition dataContext.cpp:520
Definition monitoring.hpp:31
Definition oldbInterface.hpp:95
Definition actionMgr.cpp:35
constexpr const char * EstimatedStateToString(DataContext::EstimatedState state)
Definition dataContext.cpp:539
std::ostream & operator<<(std::ostream &os, DataContext::EstimatedState state)
Definition dataContext.cpp:551
Definition dataContext.hpp:44
std::optional< ptk::Radians > az
Definition dataContext.hpp:46
std::optional< ptk::Radians > alt
Definition dataContext.hpp:45
Config class header file.
Performance and other monitoring.
OldbInterface class header file.