1#ifndef RECOVERYSYSTEM_H
2#define RECOVERYSYSTEM_H
34 double dragCoefficient,
35 double referenceArea);
79 const std::string&
getName()
const;
DeploymentType
Deployment trigger types.
Definition RecoverySystem.h:17
@ Apogee
Definition RecoverySystem.h:18
@ Altitude
Definition RecoverySystem.h:19
@ Timer
Definition RecoverySystem.h:20
const std::string & getName() const
Gets the name of the recovery system.
Definition RecoverySystem.cpp:60
void deploy()
Marks the recovery system as deployed.
Definition RecoverySystem.cpp:44
bool checkDeploymentCondition(double altitude, double velocity, double time, bool atApogee) const
Checks if deployment conditions are met based on flight state.
Definition RecoverySystem.cpp:21
~RecoverySystem()=default
Default destructor.
std::string name_
Name of the recovery system.
Definition RecoverySystem.h:82
bool deployed_
Whether the recovery system has been deployed.
Definition RecoverySystem.h:90
double getDragCoefficient() const
Gets the drag coefficient.
Definition RecoverySystem.cpp:52
double dragCoefficient_
Drag coefficient after deployment.
Definition RecoverySystem.h:87
double referenceArea_
Reference area [m2].
Definition RecoverySystem.h:88
RecoverySystem(const std::string &name, DeploymentType deploymentType, double triggerValue, double dragCoefficient, double referenceArea)
Constructs a new RecoverySystem.
Definition RecoverySystem.cpp:6
double getReferenceArea() const
Gets the reference area.
Definition RecoverySystem.cpp:56
bool isDeployed() const
Returns whether the recovery system has been deployed.
Definition RecoverySystem.cpp:48
DeploymentType deploymentType_
Deployment trigger type.
Definition RecoverySystem.h:84
double triggerValue_
Trigger value (meters for altitude, seconds for timer).
Definition RecoverySystem.h:85