WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
RangeAzElSensorModel.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX INC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX INC.
15******************************************************************************/
16/*
17Point mass gravity model header file
18
19Author: Alex Reynolds
20*/
21/*
22Metadata for MS GUI:
23imdata = {"exclude" : True}
24*/
25
26#ifndef MODELS_STATES_RANGE_AZ_EL_SENSOR_MODEL_H
27#define MODELS_STATES_RANGE_AZ_EL_SENSOR_MODEL_H
28
29#include "constants/unitutils.h"
30#include "simulation/Model.h"
31#include "frames/Frame.h"
32#include "frames/Node.h"
33#include "frames/frameutils.h"
34
35namespace warptwin {
36
54 MODEL(RangeAzElSensorModel)
55 public:
56 // Model params
57 // NAME TYPE DEFAULT VALUE
60 SIGNAL(elevation_mask_rad, double, 0.0)
62 SIGNAL(azimuth_mask_low, double, -warpos::TWO_PI)
64 SIGNAL(azimuth_mask_high, double, warpos::TWO_PI)
66
67 // Model inputs
68 // NAME TYPE DEFAULT VALUE
71 SIGNAL(pos_obj__ref, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
74 SIGNAL(vel_obj__ref, CartesianVector3, CartesianVector3({0.0, 0.0, 0.0}))
76
77 // Model outputs
78 // NAME TYPE DEFAULT VALUE
81 SIGNAL(range, double, 0.0)
83 SIGNAL(range_rate, double, 0.0)
85 SIGNAL(azimuth, double, 0.0)
87 SIGNAL(elevation, double, 0.0)
89 SIGNAL(masked, bool, true)
91
92 protected:
93 int16 execute() override;
94 };
95
96}
97
98#endif
#define SIGNAL(NAME, TYPE, INITIAL_VALUE)
Definition appmacros.h:27
#define START_PARAMS
Definition appmacros.h:42
#define END_OUTPUTS
Definition appmacros.h:33
#define END_PARAMS
Definition appmacros.h:47
#define START_OUTPUTS
Definition appmacros.h:28
#define END_INPUTS
Definition appmacros.h:40
#define START_INPUTS
Definition appmacros.h:35
#define CartesianVector3
Definition mathmacros.h:43
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
SIGNAL(_mu, double, warpos::earth_wgs84.mu)
@ MODEL
Simplified dynamics model representing motion in the circular restricted 3 body problem.
Definition ImNode.h:31
int16 execute() override
Function to check monitor input conditions and set trigger flag accordingly. Should be implemented in...