Skip to content

File ImpulsiveBurn.hpp

File List > astrea > astro > astro > propagation > event_detection > events > ImpulsiveBurn.hpp

Go to the documentation of this file

#pragma once

#include <string>

#include <units/units.hpp>

#include <astro/astro.fwd.hpp>

namespace astrea {
namespace astro {

class ImpulsiveBurn {

  public:
    std::string get_name() const;

    Unitless measure_event(const Time& time, const State& state, const Vehicle& vehicle) const;

    void trigger_action(const Time& time, State& state, Vehicle& vehicle) const;

    bool is_terminal() const;

  private:
    mutable Angle previousAnomaly = 0.0 * astrea::detail::angle_unit;
};

} // namespace astro
} // namespace astrea