QtRocket
 
Loading...
Searching...
No Matches
RecoverySystem Class Reference

Represents a recovery system for a rocket stage. More...

#include <RecoverySystem.h>

Public Types

enum class  DeploymentType { Apogee , Altitude , Timer }
 Deployment trigger types. More...
 

Public Member Functions

 RecoverySystem (const std::string &name, DeploymentType deploymentType, double triggerValue, double dragCoefficient, double referenceArea)
 Constructs a new RecoverySystem.
 
 ~RecoverySystem ()=default
 Default destructor.
 
bool checkDeploymentCondition (double altitude, double velocity, double time, bool atApogee) const
 Checks if deployment conditions are met based on flight state.
 
void deploy ()
 Marks the recovery system as deployed.
 
bool isDeployed () const
 Returns whether the recovery system has been deployed.
 
double getDragCoefficient () const
 Gets the drag coefficient.
 
double getReferenceArea () const
 Gets the reference area.
 
const std::string & getName () const
 Gets the name of the recovery system.
 

Private Attributes

std::string name_
 Name of the recovery system.
 
DeploymentType deploymentType_
 Deployment trigger type.
 
double triggerValue_
 Trigger value (meters for altitude, seconds for timer).
 
double dragCoefficient_
 Drag coefficient after deployment.
 
double referenceArea_
 Reference area [m2].
 
bool deployed_
 Whether the recovery system has been deployed.
 

Detailed Description

Represents a recovery system for a rocket stage.

The RecoverySystem class models parachutes, drogues, or streamers and handles deployment logic based on flight conditions.

Member Enumeration Documentation

◆ DeploymentType

enum class RecoverySystem::DeploymentType
strong

Deployment trigger types.

Enumerator
Apogee 
Altitude 
Timer 

Constructor & Destructor Documentation

◆ RecoverySystem()

RecoverySystem::RecoverySystem ( const std::string & name,
DeploymentType deploymentType,
double triggerValue,
double dragCoefficient,
double referenceArea )

Constructs a new RecoverySystem.

Parameters
nameName of the recovery device.
deploymentTypeType of deployment trigger (apogee, altitude, timer).
triggerValueValue associated with deployment trigger (e.g., altitude in meters or time in seconds).
dragCoefficientDrag coefficient of the recovery device.
referenceAreaReference area (canopy projected area) in square meters.

◆ ~RecoverySystem()

RecoverySystem::~RecoverySystem ( )
default

Default destructor.

Member Function Documentation

◆ checkDeploymentCondition()

bool RecoverySystem::checkDeploymentCondition ( double altitude,
double velocity,
double time,
bool atApogee ) const

Checks if deployment conditions are met based on flight state.

Parameters
altitudeCurrent altitude above ground (meters).
velocityCurrent vertical velocity (m/s).
timeElapsed flight time (seconds).
atApogeeFlag indicating if rocket has reached apogee.
Returns
True if deployment should occur.
Here is the caller graph for this function:

◆ deploy()

void RecoverySystem::deploy ( )

Marks the recovery system as deployed.

Here is the caller graph for this function:

◆ getDragCoefficient()

double RecoverySystem::getDragCoefficient ( ) const

Gets the drag coefficient.

Returns
Drag coefficient (dimensionless).
Here is the caller graph for this function:

◆ getName()

const std::string & RecoverySystem::getName ( ) const

Gets the name of the recovery system.

Returns
Recovery system name as a constant reference.
Here is the caller graph for this function:

◆ getReferenceArea()

double RecoverySystem::getReferenceArea ( ) const

Gets the reference area.

Returns
Reference area (square meters).
Here is the caller graph for this function:

◆ isDeployed()

bool RecoverySystem::isDeployed ( ) const

Returns whether the recovery system has been deployed.

Returns
True if deployed.
Here is the caller graph for this function:

Member Data Documentation

◆ deployed_

bool RecoverySystem::deployed_
private

Whether the recovery system has been deployed.

◆ deploymentType_

DeploymentType RecoverySystem::deploymentType_
private

Deployment trigger type.

◆ dragCoefficient_

double RecoverySystem::dragCoefficient_
private

Drag coefficient after deployment.

◆ name_

std::string RecoverySystem::name_
private

Name of the recovery system.

◆ referenceArea_

double RecoverySystem::referenceArea_
private

Reference area [m2].

◆ triggerValue_

double RecoverySystem::triggerValue_
private

Trigger value (meters for altitude, seconds for timer).


The documentation for this class was generated from the following files: