Skip to content

Namespace astrea::trace

Namespace List > astrea > trace

Namespaces

Type Name
namespace plotting

Classes

Type Name
class AccessAnalyzer
class AccessArray
Represents a collection of access times indexed by sender and receiver IDs. This class provides methods to manipulate and query access times for different sender-receiver pairs.
struct AccessInfo
class AccessObject
Base class for objects that can visually access other objects.
struct AccessStats
The AccessStats struct represents statistics for access times based on anAccessArray .
class Antenna
Represents an antenna with properties such as diameter, efficiency, frequency, and power.
class AntennaParameters
Class for storing and managing antenna parameters.
class CircularFieldOfView
Circular field of view implementation.
class FieldOfView
Base class for Field of View (FoV) representations.
class FoldsOfCoverage
The FoldsOfCoverage class represents the folds of coverage (simultaneous accesses) for each receiver ID over time.
struct GeographicBin
Geographic bin for spatial partitioning.
class Grid
Class representing a grid of ground points.
class GroundArchitecture
GroundArchitecture class represents a collection of ground stations.
class GroundPoint
Represents a point on the ground with latitude, longitude, and altitude.
class GroundStation
Ground station class for managing ground-based access. This class inherits from GroundPoint ,AccessObject , and SensorPlatform. It represents a ground station with a specific latitude, longitude, altitude, and a collection of sensors. It also provides methods to manage access and sensor functionalities.
struct HyperStats <class T>
The HyperStats struct represents statistics of statistics, allowing for the calculation of statistics on a vector of Stats<T>.
struct IdPair
Represents a pair of IDs for sender and receiver.
class PolygonalFieldOfView
Polygonal field of view implementation.
class PositionCache
Contiguous memory cache for platform positions across time.
class RiseSetArray
Represents an array of rise and set times.
struct RiseSetStats
The RiseSetStats struct represents statistics for rise and set times based on aRiseSetArray and a RiseSetMetric.
class Sensor
Sensor class representing a sensor on a platform.
class SensorParameters
Class for storing and managing sensor parameters.
class SpatialIndex
Spatial index for efficient ground point queries.
struct Stats <class T>
The Stats struct represents basic statistics (min, max, average, and percentiles) for a vector of values of type T.
class Viewer
Viewer class for managing access and sensors on a spacecraft. This class inherits from Spacecraft,AccessObject , and SensorPlatform. It provides functionality to manage sensors and access rights for the spacecraft.

Public Types

Type Name
enum EnumType AccessMetric
Enumeration for different access metrics.
typedef std::vector< astro::Date > DateVector
Type alias for a vector of time values.
typedef astro::RadiusVector< astro::frames::earth::earth_fixed > EcefRadiusVec
typedef astro::RadiusVector< astro::frames::earth::icrf > EciRadiusVec
typedef uint32_t EnumType
Type definition for enumeration types.
enum EnumType GridType
Enumeration for different grid types.
typedef std::vector< std::shared_ptr< GroundPoint > > GroundPointRefVec
typedef std::vector< std::shared_ptr< GroundStation > > GroundStationRefVec
typedef std::pair< Angle, Angle > LatLon
Latitude/Longitude coordinate pair.
typedef std::vector< std::pair< std::size_t, std::size_t > > PairVec
enum PatternApproximation
Enum class for different antenna pattern approximations.
enum EnumType RiseSetMetric
Enumeration for different rise/set metrics.
typedef astro::PayloadPlatform< Sensor > SensorPlatform
Type definition for sensor platforms.
enum EnumType StatType
Enumeration of statistical measures for RiseSetArray .
typedef astro::Constellation< Viewer > ViewerConstellation
Type alias for a constellation of Viewer objects.
typedef std::vector< std::shared_ptr< Viewer > > ViewerRefVec

Public Attributes

Type Name
concept HasSize = /* multi line expression */
concept HasSubscriptOperator = /* multi line expression */
concept IsPlatformContainer = HasSize&lt;T&gt; && HasSubscriptOperator&lt;T&gt;

Public Static Attributes

Type Name
const gtl::btree_map< AccessMetric, std::string > ACCESS_METRIC_STRINGS = /* multi line expression */
const std::array< AccessMetric, 2 > ALL_ACCESS_METRICS = { AccessMetric::MTTA, AccessMetric::AVG\_DAILY\_VIS }
const std::array< GridType, 5 > ALL_GRID_TYPES = /* multi line expression */
const std::array< RiseSetMetric, 2 > ALL_RISE_SET_METRICS = { RiseSetMetric::GAP, RiseSetMetric::ACCESS\_TIME }
const std::array< StatType, 4 > ALL_STAT_TYPES = { StatType::MIN, StatType::AVG, StatType::MAX, StatType::PCT }
const std::vector< Unitless > DEFAULT_PERCENTILES = { 1, 5, 10, 25, 50, 75, 90, 95, 99 }
const gtl::btree_map< GridType, std::string > GRID_TYPE_STRINGS = /* multi line expression */
const gtl::btree_map< RiseSetMetric, std::string > RISE_SET_METRIC_STRINGS = /* multi line expression */
const gtl::btree_map< StatType, std::string > STAT_TYPE_STRINGS = /* multi line expression */

Public Functions

Type Name
Angle calculate_angle_between_vectors (const EciRadiusVec & vector1, const EciRadiusVec & vector2)
Angle calculate_angle_between_vectors (const astro::CartesianVector< Distance, astro::frames::earth::icrf > & vector1, const astro::CartesianVector< Distance, astro::frames::earth::icrf > & vector2)
Computes the angle between two radius vectors.
std::string get_object_name_from_id (std::size_t id, const astro::Constellation< T > & satellites, const U & grounds=U())
std::ostream & operator<< (std::ostream & os, const AccessArray & accessarray)
Overloads the output stream operator for the AccessArray .
std::ostream & operator<< (std::ostream & os, const RiseSetArray & risesets)
bool point_in_polygon (const std::pair< Unitless, Unitless > & point, const std::vector< std::pair< Unitless, Unitless >> & polygon)
RiseSetArray riseset_difference (const RiseSetArray & a, const RiseSetArray & b)
Difference of two RiseSetArray objects.
RiseSetArray riseset_intersection (const RiseSetArray & a, const RiseSetArray & b)
Intersection of two RiseSetArray objects.
RiseSetArray riseset_union (const RiseSetArray & a, const RiseSetArray & b)
Union of two RiseSetArray objects.
void save_access_metrics_to_file (const AccessStats & stats, const std::filesystem::path & outdir, const astro::Constellation< T > & satellites, const U & grounds=U())
Saves the AccessArray to a file in a human-readable format.
void save_number_of_folds_to_file (const AccessArray & accesses, const std::filesystem::path & outdir, const astro::Constellation< T > & satellites, const U & grounds, const Time & resolution, const Time & end)
Saves the AccessArray to a file in a human-readable format.
void save_receiver_riseset_metrics_to_file (const AccessStats & stats, const std::filesystem::path & outdir, const astro::Constellation< T > & satellites, const U & grounds=U())
Saves the AccessArray to a file in a human-readable format.
void save_riseset_metrics_to_file (const AccessArray & accesses, const std::filesystem::path & outdir, const astro::Constellation< T > & satellites, const U & grounds=U())
Saves the AccessArray to a file in a human-readable format.
void save_risesets_to_file (const AccessArray & accesses, const std::filesystem::path & outdir, const astro::Constellation< T > & satellites, const U & grounds=U())
Saves the AccessArray to a file in a human-readable format.
std::string to_formatted_string (Time t)
Converts a Time object to a formatted string.

Public Types Documentation

enum AccessMetric

Enumeration for different access metrics.

enum astrea::trace::AccessMetric {
    MTTA,
    AVG_DAILY_VIS
};


typedef DateVector

Type alias for a vector of time values.

using astrea::trace::DateVector = typedef std::vector<astro::Date>;


typedef EcefRadiusVec

typedef astro::RadiusVector< astro::frames::earth::earth_fixed > astrea::trace::EcefRadiusVec;

typedef EciRadiusVec

typedef astro::RadiusVector< astro::frames::earth::icrf > astrea::trace::EciRadiusVec;

typedef EnumType

Type definition for enumeration types.

using astrea::trace::EnumType = typedef uint32_t;


enum GridType

Enumeration for different grid types.

enum astrea::trace::GridType {
    UNIFORM,
    EQUAL_AREA,
    WEIGHTED_NS,
    WEIGHTED_EW,
    MANUAL
};


typedef GroundPointRefVec

using astrea::trace::GroundPointRefVec = typedef std::vector<std::shared_ptr<GroundPoint> >;

typedef GroundStationRefVec

using astrea::trace::GroundStationRefVec = typedef std::vector<std::shared_ptr<GroundStation> >;

typedef LatLon

Latitude/Longitude coordinate pair.

using astrea::trace::LatLon = typedef std::pair<Angle, Angle>;

This type is used to represent a geographic location on the Earth's surface.


typedef PairVec

using astrea::trace::PairVec = typedef std::vector<std::pair<std::size_t, std::size_t> >;

enum PatternApproximation

Enum class for different antenna pattern approximations.

enum astrea::trace::PatternApproximation {
    BESSEL,
    SINC_SQUARED
};


enum RiseSetMetric

Enumeration for different rise/set metrics.

enum astrea::trace::RiseSetMetric {
    GAP,
    ACCESS_TIME
};


typedef SensorPlatform

Type definition for sensor platforms.

using astrea::trace::SensorPlatform = typedef astro::PayloadPlatform<Sensor>;


enum StatType

Enumeration of statistical measures for RiseSetArray .

enum astrea::trace::StatType {
    MIN,
    AVG,
    MAX,
    PCT
};


typedef ViewerConstellation

Type alias for a constellation of Viewer objects.

typedef astro::Constellation< Viewer > astrea::trace::ViewerConstellation;


typedef ViewerRefVec

using astrea::trace::ViewerRefVec = typedef std::vector<std::shared_ptr<Viewer> >;

Public Attributes Documentation

variable HasSize

concept astrea::trace::HasSize;

variable HasSubscriptOperator

concept astrea::trace::HasSubscriptOperator;

variable IsPlatformContainer

concept astrea::trace::IsPlatformContainer;

Public Static Attributes Documentation

variable ACCESS_METRIC_STRINGS

const gtl::btree_map<AccessMetric, std::string> astrea::trace::ACCESS_METRIC_STRINGS;

variable ALL_ACCESS_METRICS

const std::array<AccessMetric, 2> astrea::trace::ALL_ACCESS_METRICS;

variable ALL_GRID_TYPES

const std::array<GridType, 5> astrea::trace::ALL_GRID_TYPES;

variable ALL_RISE_SET_METRICS

const std::array<RiseSetMetric, 2> astrea::trace::ALL_RISE_SET_METRICS;

variable ALL_STAT_TYPES

const std::array<StatType, 4> astrea::trace::ALL_STAT_TYPES;

variable DEFAULT_PERCENTILES

const std::vector<Unitless> astrea::trace::DEFAULT_PERCENTILES;

variable GRID_TYPE_STRINGS

const gtl::btree_map<GridType, std::string> astrea::trace::GRID_TYPE_STRINGS;

variable RISE_SET_METRIC_STRINGS

const gtl::btree_map<RiseSetMetric, std::string> astrea::trace::RISE_SET_METRIC_STRINGS;

variable STAT_TYPE_STRINGS

const gtl::btree_map<StatType, std::string> astrea::trace::STAT_TYPE_STRINGS;

Public Functions Documentation

function calculate_angle_between_vectors

Angle astrea::trace::calculate_angle_between_vectors (
    const EciRadiusVec & vector1,
    const EciRadiusVec & vector2
) 

function calculate_angle_between_vectors

Computes the angle between two radius vectors.

Angle astrea::trace::calculate_angle_between_vectors (
    const astro::CartesianVector< Distance, astro::frames::earth::icrf > & vector1,
    const astro::CartesianVector< Distance, astro::frames::earth::icrf > & vector2
) 

Parameters:

  • vector1 The first radius vector.
  • vector2 The second radius vector.

Returns:

Angle The angle between the two vectors.


function get_object_name_from_id

template<typename T, typename U>
std::string astrea::trace::get_object_name_from_id (
    std::size_t id,
    const astro::Constellation< T > & satellites,
    const U & grounds=U()
) 

function operator<<

Overloads the output stream operator for the AccessArray .

std::ostream & astrea::trace::operator<< (
    std::ostream & os,
    const AccessArray & accessarray
) 

Parameters:

  • os The output stream.
  • accessarray The AccessArray to output.

Returns:

std::ostream& The output stream.


function operator<<

std::ostream & astrea::trace::operator<< (
    std::ostream & os,
    const RiseSetArray & risesets
) 

function point_in_polygon

bool astrea::trace::point_in_polygon (
    const std::pair< Unitless, Unitless > & point,
    const std::vector< std::pair< Unitless, Unitless >> & polygon
) 

function riseset_difference

Difference of two RiseSetArray objects.

RiseSetArray astrea::trace::riseset_difference (
    const RiseSetArray & a,
    const RiseSetArray & b
) 

Parameters:

Returns:

RiseSetArray The difference of the two RiseSetArray objects.


function riseset_intersection

Intersection of two RiseSetArray objects.

RiseSetArray astrea::trace::riseset_intersection (
    const RiseSetArray & a,
    const RiseSetArray & b
) 

Parameters:

Returns:

RiseSetArray The intersection of the two RiseSetArray objects.


function riseset_union

Union of two RiseSetArray objects.

RiseSetArray astrea::trace::riseset_union (
    const RiseSetArray & a,
    const RiseSetArray & b
) 

Parameters:

Returns:

RiseSetArray The union of the two RiseSetArray objects.


function save_access_metrics_to_file

Saves the AccessArray to a file in a human-readable format.

template<typename T, typename U>
void astrea::trace::save_access_metrics_to_file (
    const AccessStats & stats,
    const std::filesystem::path & outdir,
    const astro::Constellation< T > & satellites,
    const U & grounds=U()
) 

Template parameters:

  • T The type of Spacecraft used in the Constellation.

Parameters:

  • accesses The AccessArray containing the access times to be saved.
  • outdir The directory to save the file to.
  • satellites The Constellation containing the Spacecraft for which access times are being saved.
  • grounds The GroundArchitecture containing the ground stations for which access times are being saved

function save_number_of_folds_to_file

Saves the AccessArray to a file in a human-readable format.

template<typename T, typename U>
void astrea::trace::save_number_of_folds_to_file (
    const AccessArray & accesses,
    const std::filesystem::path & outdir,
    const astro::Constellation< T > & satellites,
    const U & grounds,
    const Time & resolution,
    const Time & end
) 

Template parameters:

  • T The type of Spacecraft used in the Constellation.

Parameters:

  • accesses The AccessArray containing the access times to be saved.
  • outdir The directory to save the file to.
  • satellites The Constellation containing the Spacecraft for which access times are being saved.
  • grounds The GroundArchitecture containing the ground stations for which access times are being saved

function save_receiver_riseset_metrics_to_file

Saves the AccessArray to a file in a human-readable format.

template<typename T, typename U>
void astrea::trace::save_receiver_riseset_metrics_to_file (
    const AccessStats & stats,
    const std::filesystem::path & outdir,
    const astro::Constellation< T > & satellites,
    const U & grounds=U()
) 

Template parameters:

  • T The type of Spacecraft used in the Constellation.

Parameters:

  • accesses The AccessArray containing the access times to be saved.
  • outdir The directory to save the file to.
  • satellites The Constellation containing the Spacecraft for which access times are being saved.
  • grounds The GroundArchitecture containing the ground stations for which access times are being saved

function save_riseset_metrics_to_file

Saves the AccessArray to a file in a human-readable format.

template<typename T, typename U>
void astrea::trace::save_riseset_metrics_to_file (
    const AccessArray & accesses,
    const std::filesystem::path & outdir,
    const astro::Constellation< T > & satellites,
    const U & grounds=U()
) 

Template parameters:

  • T The type of Spacecraft used in the Constellation.

Parameters:

  • accesses The AccessArray containing the access times to be saved.
  • outdir The directory to save the file to.
  • satellites The Constellation containing the Spacecraft for which access times are being saved.
  • grounds The GroundArchitecture containing the ground stations for which access times are being saved

function save_risesets_to_file

Saves the AccessArray to a file in a human-readable format.

template<typename T, typename U>
void astrea::trace::save_risesets_to_file (
    const AccessArray & accesses,
    const std::filesystem::path & outdir,
    const astro::Constellation< T > & satellites,
    const U & grounds=U()
) 

Template parameters:

  • T The type of Spacecraft used in the Constellation.

Parameters:

  • accesses The AccessArray containing the access times to be saved.
  • outdir The directory to save the file to.
  • satellites The Constellation containing the Spacecraft for which access times are being saved.
  • grounds The GroundArchitecture containing the ground stations for which access times are being saved

function to_formatted_string

Converts a Time object to a formatted string.

std::string astrea::trace::to_formatted_string (
    Time t
) 

Parameters:

  • t The Time object to convert.

Returns:

std::string A formatted string representation of the Time object.



The documentation for this class was generated from the following file astrea/trace/trace/analysis/AccessAnalyzer.cpp