Skip to content

File CelestialBodyParameters.hpp

File List > astrea > astro > astro > systems > CelestialBodyParameters.hpp

Go to the documentation of this file

#pragma once

#include <units/units.hpp>

#include <astro/time/Date.hpp>

namespace astrea {
namespace astro {

struct CelestialBodyParameters {
    std::string name;                         
    CelestialBodyId parent;                   
    CelestialBodyType type;                   
    Date referenceDate;                       
    GravParam mu;                             
    Mass mass;                                
    Distance equitorialRadius;                
    Distance polarRadius;                     
    Distance crashRadius;                     
    Distance sphereOfInfluence;               
    Unitless j2;                              
    Unitless j3;                              
    Angle axialTilt;                          
    AngularRate rotationRate;                 
    Time siderealPeriod;                      
    Distance semimajorAxis;                   
    Unitless eccentricity;                    
    Angle inclination;                        
    Angle rightAscension;                     
    Angle longitudeOfPerigee;                 
    Angle meanLongitude;                      
    InterplanetaryVelocity semimajorAxisRate; 
    BodyUnitlessPerTime eccentricityRate;     
    BodyAngularRate inclinationRate;          
    BodyAngularRate rightAscensionRate;       
    BodyAngularRate longitudeOfPerigeeRate;   
    BodyAngularRate meanLongitudeRate;        
};

} // namespace astro
} // namespace astrea