create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / optimization / rocketoptimization / parameters / MaximumAccelerationParameter.java
1 package net.sf.openrocket.optimization.rocketoptimization.parameters;
2
3 import net.sf.openrocket.l10n.Translator;
4 import net.sf.openrocket.simulation.FlightData;
5 import net.sf.openrocket.simulation.FlightDataType;
6 import net.sf.openrocket.simulation.listeners.SimulationListener;
7 import net.sf.openrocket.simulation.listeners.system.ApogeeEndListener;
8 import net.sf.openrocket.startup.Application;
9 import net.sf.openrocket.unit.UnitGroup;
10
11 /**
12  * An optimization parameter that computes the maximum acceleration during a simulated flight.
13  * 
14  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
15  */
16 public class MaximumAccelerationParameter extends SimulationBasedParameter {
17         
18         private static final Translator trans = Application.getTranslator();
19         
20         @Override
21         public String getName() {
22                 return trans.get("name");
23         }
24         
25         @Override
26         protected SimulationListener[] getSimulationListeners() {
27                 return new SimulationListener[] { new ApogeeEndListener() };
28         }
29         
30         @Override
31         protected double getResultValue(FlightData simulatedData) {
32                 return simulatedData.getBranch(0).getMaximum(FlightDataType.TYPE_ACCELERATION_TOTAL);
33         }
34         
35         @Override
36         public UnitGroup getUnitGroup() {
37                 return UnitGroup.UNITS_ACCELERATION;
38         }
39         
40 }