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"
44 std::optional<ptk::Radians>
alt;
45 std::optional<ptk::Radians>
az;
61 DataContext(std::shared_ptr<OldbInterface> oldb_interface =
nullptr);
118 std::shared_ptr<const ::msif::PresetArgs>
GetPresetData()
const;
124 void SetPresetArgs(std::shared_ptr<const ::msif::PresetArgs> preset_args);
165 void AddSkyOffset(ptk::Radians delta_ra, ptk::Radians delta_dec);
195 ::taiclock::TaiClock::time_point time_tai = ::taiclock::TaiClock::time_point{})
const;
247 ElapsedTimeStats& stats, ::taiclock::TaiClock::time_point time_tai = ptk::NextTimeEvent());
380 std::shared_ptr<OldbInterface> m_oldb_interface;
382 bool m_is_publishing_enabled;
391 std::shared_ptr<const ::msif::PresetArgs> m_preset_args;
401 ptk::EquatorialPosition m_ra_dec_target;
408 ptk::EquatorialPosition m_ra_dec_target_apparent;
420 bool m_ra_dec_target_is_valid;
437 std::map<::taiclock::TaiClock::time_point, ptk::HorizonPositionEsoTimestamped> m_alt_az_target_map;
445 bool m_alt_az_target_is_valid;
452 ptk::HorizonPositionEsoTimestamped alt_az_current;
471 bool m_site_info_published;
472 bool m_site_info_first_iteration;
482 mutable std::recursive_mutex m_mutex;
488 std::atomic<bool> is_initialized;
Definition ambientData.hpp:34
Definition config.hpp:253
Definition dataContext.hpp:52
EstimatedState GetEstimatedState() const
Definition dataContext.cpp:519
ptk::EquatorialPosition GetTargetRaDecApparent() const
Definition dataContext.cpp:190
virtual ~DataContext()
Definition dataContext.cpp:52
bool IsPublishingEnabled() const
Definition dataContext.cpp:100
bool GetTargetAltAzValidity() const
Definition dataContext.cpp:468
Config & GetConfig() override
Definition dataContext.cpp:107
std::shared_ptr< const ::msif::PresetArgs > GetPresetData() const
Definition dataContext.cpp:148
const Config & GetConfigConst() const
Definition dataContext.cpp:113
void SetTargetRaDecValidity(bool is_valid)
Definition dataContext.cpp:224
void AddSkyOffset(ptk::Radians delta_ra, ptk::Radians delta_dec)
Definition dataContext.cpp:237
void SetTargetAltAz(const ptk::HorizonPositionEsoTimestamped &alt_az, ElapsedTimeStats &stats)
DataContext(std::shared_ptr< OldbInterface > oldb_interface=nullptr)
Definition dataContext.cpp:33
EstimatedState
Definition dataContext.hpp:292
void ReloadConfig() override
Definition dataContext.cpp:119
AmbientData & GetAmbientData()
Definition dataContext.cpp:143
std::optional< ptk::HorizonPositionEsoTimestamped > GetTargetAltAz(::taiclock::TaiClock::time_point time_tai=::taiclock::TaiClock::time_point{}) const
Definition dataContext.cpp:304
void SetTargetRaDecApparent(const ptk::EquatorialPosition &pos_apparent)
Definition dataContext.cpp:198
void SetCurrentAltAz(const ptk::HorizonPositionEsoTimestamped &alt_az)
DataContext(const DataContext &)=delete
void UpdateDb() override
Definition dataContext.cpp:60
void EnablePublishing(bool enabled)
Definition dataContext.cpp:94
void SetPresetArgs(std::shared_ptr< const ::msif::PresetArgs > preset_args)
Definition dataContext.cpp:165
OldbInterface & GetOldbInterface() override
Definition dataContext.cpp:89
void SetTargetAltAzToCurrent(ElapsedTimeStats &stats)
Definition dataContext.cpp:412
ptk::EquatorialPosition GetTargetRaDec() const
Definition dataContext.cpp:156
ptk::HorizonPositionEsoTimestamped GetCurrentAltAz() const
Definition dataContext.cpp:482
ptk::HorizonPositionEsoTimestamped MergeTargetAltAz(const AltAzOptional &alt_az, ElapsedTimeStats &stats, ::taiclock::TaiClock::time_point time_tai=ptk::NextTimeEvent())
Definition dataContext.cpp:421
bool GetTargetRaDecValidity() const
Definition dataContext.cpp:218
DataContext & operator=(const DataContext &)=delete
Disable copy constructor.
ptk::PositionOnEarth GetSitePosition() const
Definition dataContext.cpp:132
void SetTargetAltAzValidity(bool is_valid)
Definition dataContext.cpp:474
void SetEstimatedState(EstimatedState state)
Definition dataContext.cpp:507
Definition monitoring.hpp:31
Definition oldbInterface.hpp:100
Definition actionMgr.cpp:35
constexpr const char * EstimatedStateToString(DataContext::EstimatedState state)
Definition dataContext.cpp:526
std::ostream & operator<<(std::ostream &os, DataContext::EstimatedState state)
Definition dataContext.cpp:538
Definition dataContext.hpp:43
std::optional< ptk::Radians > az
Definition dataContext.hpp:45
std::optional< ptk::Radians > alt
Definition dataContext.hpp:44
AmbientData class header file.
Config class header file.
Performance and other monitoring.
OldbInterface class header file.