only consider positive airspeed in longitudinal axis
[fg:hoorays-flightgear.git] / src / Systems / pitot.hxx
1 // pitot.hxx - the pitot air system.
2 // Written by David Megginson, started 2002.
3 //
4 // This file is in the Public Domain and comes with no warranty.
5
6
7 #ifndef __SYSTEMS_PITOT_HXX
8 #define __SYSTEMS_PITOT_HXX 1
9
10 #ifndef __cplusplus
11 # error This library requires C++
12 #endif
13
14 #include <simgear/compiler.h>
15
16 #include STL_STRING
17 SG_USING_STD(string);
18
19 #include <simgear/props/props.hxx>
20 #include <simgear/structure/subsystem_mgr.hxx>
21
22
23 /**
24  * Model a pitot air system.
25  *
26  * The output is the sum of static and dynamic pressure (not just the
27  * dynamic pressure).
28  *
29  * Input properties:
30  *
31  * /systems/"name"/serviceable
32  * /environment/pressure-slugft3
33  * /environment/density-slugft3
34  * /velocities/airspeed-kt
35  *
36  * Output properties:
37  *
38  * /systems/"name"/total-pressure-inhg
39  */
40 class PitotSystem : public SGSubsystem
41 {
42
43 public:
44
45     PitotSystem ( SGPropertyNode *node );
46     PitotSystem ( int i );
47     virtual ~PitotSystem ();
48
49     virtual void init ();
50     virtual void bind ();
51     virtual void unbind ();
52     virtual void update (double dt);
53
54 private:
55
56     int num;
57     string name;
58     SGPropertyNode_ptr _serviceable_node;
59     SGPropertyNode_ptr _pressure_node;
60     SGPropertyNode_ptr _density_node;
61     SGPropertyNode_ptr _velocity_node;
62     SGPropertyNode_ptr _slip_angle;
63     SGPropertyNode_ptr _total_pressure_node;
64 };
65
66 #endif // __SYSTEMS_PITOT_HXX